vSphere Integrated Containers allow IT teams to run the old workload and Container together on one infrastructure without problems. Containers are prepared using the vSphere Integrated Containers Engine, either in virtual machines or short for VMs, providing exactly the same security and performance of virtual machines on VMware ESXi servers or Instances vCenter Server.
This article is for those executives and experts in the organization who intend to focus on Containers in the vSphere environment using vSphere Integrated Containers.
Introducing Container Display, Image and Volume Display
The word Container is heard a lot these days. When learning the concept of Container and how it relates to vSphere Integrated Containers, understanding the concept of Runtime and Packaging and distinguishing between them helps to learn this.
Concept of Runtime in Container Category
At its most basic, the Container is simply a Sandbox in which a process can be run, so that the Sandbox isolates the desired process from other processes running on the same system. A Container has a life cycle that is usually related to the process life cycle of the process designed to run it, so if we run a Container and the Container executes its main process, once the process is stopped, the Container also stops. will be. Conceptually, a Container has many capabilities of a virtual machine. The main difference between the two is the Abstraction layer.
- A software container is a sandbox inside a guest hypervisor, and the hypervisor is responsible for providing Container dependencies and isolating them so that several containers share the same operating system, network, and storage. Since Container is just a piece of an operating system running, it cannot boot. The operating system that runs the Container is called the Container Host.
- On the other hand, a virtual machine is actually a sandbox inside a hypervisor. It is a hypervisor that provides virtual machine dependencies, such as virtual disks and NICs. A virtual machine must boot the operating system and its life cycle is usually related to the operating system life cycle, rather than to other processes. A virtual machine is designed to be severely isolated from other virtual machines and the Host itself.
One of the most interesting aspects of Containers is how it interacts with the State. Any data that a Container writes is by default Non-Persistent and when that Container is cleared, the data will also be deleted. But State can stay beyond the lifetime of a Container by connecting to a Volume or sending it over a network. All the binary dependencies required for a Container, such as operating system libraries and application binaries, are encapsulated within the Images.
One of the most significant benefits of Containers is that it allows the user to package and run the entire environment that an application needs. You can choose from hundreds of thousands of applications by visiting the Docker Hub and running it wherever Docker is installed on an OS. Packaging also encapsulates binary dependencies, environmental variables, volumes and even network configuration, this type of packaging is known as Image.
Image is a Template that many Containers can instantiate. The Image Docker format allows images to fit into a Parent-Child relationship just like a Disk Snapshot, allowing this Image hierarchy to contain the same common dependencies. For example, we may have a Debian 8 that has a Child Image with Java installed and that Java Image may also have a Child Image with Tomcat installed. In addition, Debian 8 can have other children such as PHP, Python and more.
The immutability of the Image format means that you can never modify an Image, but always create a new Image. The Image format is layered, which means you can cache constantly used layers just to download or upload layers we don't already have; that is, if we want to patch a specific Image, Create a new Image and rebuild all its Children.
The main advantage of the Image format is its portability. As long as we have a destination that uses a Container Engine such as Docker, we can download and run an Image. This portability is facilitated by Registry, a Registry service that indexes and stores images, can import images from a development environment to the Registry, either to a test environment for verification or to an operating environment. We can also run our own Image Registry, which forms part of a development pipeline.
Description of vSphere Integrated Containers
vSphere Integrated Containers consists of the following main components:
- vSphere Integrated Containers Engine : A Container Engine designed to integrate all the benefits of Container-specific Packaging and Runtime with the vSphere environment's enterprise capabilities.
- vSphere Integrated Containers Engine Registry : A Docker Image Registry with additional features like Role-Based Access Control or RBAC for short, Replication and more.
Both components currently support the Docker Image format. vSphere Integrated Containers is open source and free to use, and is supported by vSphere Enterprise Plus licenses.
vSphere Integrated Containers is designed to solve many of the challenges associated with putting Containerized applications into production. The software directly utilizes vSphere Clustering, Dynamic Scheduling, and Virtualized Infrastructure and eliminates the need to maintain standalone Linux virtual machines as a Container host.
vSphere Integrated Containers Engine Allows vSphere administrators to provide a user with a Container Management Endpoint as a service. At the same time, however, they will have complete management over the infrastructure that Endpoint Container Management relies on. The main differences between vSphere Integrated Containers Engine and an older container-based environment are:
vSphere is not a Linux but a Container Host :
- Containers are implemented as virtual machines, not virtual machines.
- Each Container is completely isolated from the Host and other Containers.
vSphere offers Per-Tenant resource dynamic constraints within a vCenter Server Cluster.
vSphere is not a Linux but an infrastructure for the following reasons:
- The vSphere networks that appear in the Docker Client can be selected as Container Networks.
Images, Volumes, and Container State are prepared directly within VMFS.
vSphere as a Control Plane
- The Docker Client is used to directly control selected elements of the vSphere infrastructure.
- A Container Endpoint Service-as-a-Service is presented as an abstraction level of a service, not as an IaaS.
vSphere Integrated Containers Engine is designed to be the fastest and most convenient way to prepare any Linux-based workload, if it can be serialized as a Docker Image.