Kubernetes Flashcards
(7 cards)
What is a pod?
A pod is the smallest deployable unit, representing a single instance of a running process. It’s a collection of one or more containers, sharing network and storage resources, and designed to run together on the same node. Think of a pod as a logical host for your application’s containers.
Most pods have only 1 container. But it’s possible for several processes to run on the same pod.
What is a node?
A node is a physical or virtual machine that runs your applications. A node hosts at least 1 pod.
What are some components the run on a Kubernetes node?
Kubelet - This is the primary agent that runs on each node. It communicates with the master node (specifically the API server) and ensures that containers are running in a pod as expected. It registers the node with the cluster and reports its status
Kube-proxy: This component maintains network rules on nodes, allowing network communication to your Pods from inside or outside of your cluster. It handles service discovery and load balancing for pods.
Container Runtime: This is the software responsible for running containers. Docker is a popular example, but Kubernetes supports other runtimes like containerd and CRI-O
What is a cluster?
A group of nodes. The grouping is usually related applications.
What is a master node?
A “master node” is a group of applications that oversees all of the clusters.
It’s not a single application, but rather:
- kube-apiserver
- etcd
- kube-scheduler
- kube-controller-manager
In the context of Kubernetes, what does “self-healing” mean?
In the context of Kubernetes, “self-healing” refers to its ability to automatically detect and respond to failures in the cluster, such as application crashes, node failures, or resource exhaustion, to maintain the desired state of your applications. It continuously monitors the health of its components and takes corrective actions without manual intervention.
This self-healing capability is one of Kubernetes’ most powerful features, contributing significantly to the reliability and availability of applications deployed on it.