friendsnoob.blogg.se

Docker and kubernetes on aws
Docker and kubernetes on aws







docker and kubernetes on aws

Docker uses these namespaces together in order to isolate and begin the creation of a container. The OS kernel knows the namespace that was assigned to the process and during API calls it makes sure that process can only access resources in its own namespace. Similarly, processes in namespace “A” can't access anything in memory that is allocated to namespace “B.” Also processes in “A” can't see or talk to processes in namespace “B.” This namespace function provides isolation for global resources and this is how Docker works. We can take an example where a user needs to get a chunk of disk and put that in namespace “A” and then processes running in namespace “B” can't see or access it.

docker and kubernetes on aws

Namespace: One of the OS functions that allows sharing of global resources like network and disk to processes i.e global resources were wrapped in namespaces so that they are visible only to those processes that run in the same namespace. Generally, containers make use of Linux kernel features like namespaces (ipc, uts, mount, pid, network and user), cgroups for providing an abstraction layer on top of an existing kernel instance for creating isolated environments similar to virtual machines.įigure 1: Difference between VMs and Containers

docker and kubernetes on aws

Containers also provide most of the features provided by virtual machines like IP addresses, volume mounting, resource management (CPU, memory, disk), SSH (exec), OS images, and container images, but containers do not provide an init system as containers are designed to run a single process. A container provides operating system-level virtualization by abstracting the userspace. The isolation guarantees that any processes inside the container cannot see any processes or resources outside the container. They provide a lightweight virtual environment that groups and isolates a set of processes and resources such as memory, CPU, disk, etc., from the host and any other containers. There are also a set of instructions which can trap if executed in user mode called as privileged instructions.Ĭontainers are a way of packaging software, mainly all of the application’s code, libraries and dependencies. The instructions which can only be executed in kernel mode (eg, system calls) are called sensitive instructions. However, user processes may require special services from the OS (e.g, I/O, child process creation, etc.) which can be achieved by performing system calls which temporarily switches the process into kernel mode by a method called trapping. We may have many userspace processes running but they can be made to run in isolation so if one process crashes then the other processes are unharmed. When we start a user mode application the OS creates a process with a private virtual address space to play around. There are mainly two modes of operation in CPU, user mode and kernel mode.

docker and kubernetes on aws

VMs run on top of a physical machine using a “hypervisor,” also called a virtual machine manager, which is a program that allows multiple operating systems to share a single hardware host.

#Docker and kubernetes on aws plus#

A Virtual Machine is made up of a userspace plus the kernel space of an operating system. Virtual machines provide the ability to emulate a separate OS (the guest), and therefore a separate computer, from right within your existing OS (the host). However, if we can see the growth in terms of adoption in the last few years, there is an exponential growth in container-based cloud deployment. Both VMs and Containers are aimed at improving server utilization and reducing physical server sprawl and total cost of ownership for the IT department. It's even more important to understand how solution architects and developers can use them when designing different cloud-based solutions. Understanding both Docker and Kubernetes is essential if we want to build and run a modern cloud infrastructure.









Docker and kubernetes on aws