Introduction
Kubernetes clusterizes container hosts (but not limited to, Docker hosts)
Provides load balancing & fault-tolerance across container hosts
Kubernetes Runtime
Kubernetes removed the built-in support for Docker in v1.24 (2022).
- Docker still continues to work for Kubernetes as a third party runtime (via the
**cri-dockerd**
shim).
- But Docker is now seeing less adoptions for Kubernetes.
The big names in the industry has already switched away from Docker to containerd, or to CRI-O:
- Adopters of containerd: Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), k3s, etc.
- containerd focuses on extensibility and supports non-Kubernetes workloads as well as Kubernetes workloads.
- It was originally made for Docker in 2015.
- Adopters of CRI-O: Red Hat OpenShift, Oracle Container Engine for Kubernetes (OKE), etc.
- CRI-O focuses on simplicity and solely supports Kubernetes.
Kubernetes Cluster
Cluster → Collection of Nodes
Node → Master, Worker (Minion)
Core Components of Kubernetes
kube-api
scheduler
controller-manager
etcd
kubectl