Kubernetes is an open source system for automating the deployment and scaling of containerized applications and managing clusters of containers. Originally designed by Google and donated to the Cloud Native Computing Foundation, Kubernetes aims to create an ecosystem of components and tools that relieve the burden of running applications in public and private clouds. With Kubernetes, IT teams can deploy applications quickly and predictably, scale applications on the fly, roll out new features seamlessly, and limit hardware usage to required resources only.
Kubernetes bases application containers on OS-level virtualization rather than on hardware virtualization. The containers are isolated from each other and from the host: they have their own file systems, they can’t see other containers’ processes, and their compute resource usage can be limited. Containers are easier to build than virtual machines, and because they are decoupled from the underlying infrastructure and from the host file system, they are portable across clouds and OS distributions. Kubernetes allows Linux applications to be divided into smaller, independent pieces (microservices) which can be deployed and managed dynamically.
Enterprises use Kubernetes to improve DevOps productivity, manage changes to existing containerized applications, and optimize their hardware resources. Kubernetes can deploy apps to private, public or hybrid clouds and scale them non-disruptively. As such, it is a key element of software-defined infrastructures.
How Does Kubernetes Work with Docker?
Docker is the container packaging and runtime standard. Developers build container images from Dockerfiles and distribute container images from Docker registries. Docker Hub is the most popular public registry. Many organizations also set up private Docker registries. Docker is primarily used to manage containers on individual single nodes.
Kubernetes is the container cluster management standard. YAML files specify containers and other resources that form an application. Kubernetes performs functions such as scheduling, scaling, service discovery, health check, secret management, and configuration management. Kubernetes works with Docker containers by allowing users to manage multiple containers within a Kubernetes cluster.
How Can You Learn Kubernetes?
Learn the basics of Kubernetes and SUSE Rancher with Rancher Academy. SUSE Rancher is the most popular open-source solution for deploying and managing Kubernetes clusters. Learn how to use SUSE Rancher with Kubernetes and other cloud-native technologies to accelerate how you build and deploy applications today.