Kubernetes, sometimes stylistically written as k8s, is an open-source system to automate the deployment, scaling, and management of containerized applications. Kubernetes includes networking and storage abstractions to make it easy for deployments to be distributed across physical machine boundaries while maintaining the ability to communicate. Kubernetes provides the means to eliminate single points of failure, automatically scale, and to update containers without downtime through built-in services for service discovery, load balancing, automated roll-outs/roll-backs, self healing, and configuration management.
How Kubernetes Works
Kubernetes works by maintaining a cluster of nodes, where each node is a physical or virtual machine capable of running one or more pods and managed by an agent called kublet. A pod is a group of containers that share a common configuration and are scheduled onto the same node. Kubernetes is declaratively configured by a manifest file, which describes the desired state of the cluster. Differences between the desired state are reconciled through the control plane, which is an extensible set of components that are responsible for maintaining the desired state of the cluster.
Deeper Knowledge on Kubernetes (k8s)
Kubernetes CLI: kubectl
The CLI interface for Kubernetes
Broader Topics Related to Kubernetes (k8s)
Packaging applications with all of their dependencies