Return to site

☸️Kubernetes cheat sheet

· devops
broken image

 

🕹️CONTROL PLANE👉typically you would have multiple control plane nodes for HA

  • API Server👉Exposes k8s cluster API (kubectl uses the API as well)
  • Controller Manager👉Runs controllers, detects state changes across the cluster
  • Scheduler👉assigns pods to nodes (check resources availability + policy like affinity)
  • Cloud Controller Manager👉cloud specific integration
  • DNS👉cluster DNS (kube-dns or coredns)
  • etcd👉key value store for cluster state

🛠️WORKER NODE: Physical host (Bare metal or virtual machine)

  • kubelet👉Makes sure containers are running and healthy in pods
  • kube proxy👉Networking logic (allows communication to pds and programs services)
  • Container runtime👉Meeded to run containers on a node (docker or containerd or CRI-O)
  • POD👉Pod houses containers. Each pod getsan IP
  • Service👉Exposes a set of pods. While pods are ephemeral, services are not. (cluster IP, NodePort, loadbalancer or external name)
  • Ingress👉Exposes HTTP(s) routes from outside the cluster to services. (can give services external URLs, load balance, and SSL/TLS offload). Requires an Ingress Controller. (e.g nginx, AWS, HAProxy)
  • namespace👉partitions a single k8s cluster and isolates resources
  • container network interface👉Networking abstraction (e.g Cisco, Calico, Weave)

👿 Daemon set👉can be installed on all nodes (used for things like monitoring agents or temporary files destroyed with node.)

🧮Operator👉Package, deploy and manage a K8s app (built upon controllers and resources)

🎮Controller👉Monitors cluster state (makes changes to ensure current state reflects desired state. You can make your own custom controllers too).

🎯Resource👉An endpoint in the k8s API. Stores collections of specific API objects (There are standard k8s resources, and you can create custom resources too. Objects are persistent entities that describe thing like apps, resources and policies)