CKAD Notes

CKAD Notes

September 15, 2020
Software
Tech, Kubernetes, CKAD

Sparse CKAD Notes #

Node #

Runs the containers deployed on K8s. It is the worker

Kubelet #

Agent running on the node that monitors health of pods and running pods on the container runtime

Container Runtime #

Engine that runs the containers

Master #

Handles all requests and is the brains that orchestrates work on the workers

API Server #

Receives all incoming API requests and is the frontend to K8s cluster

Controller #

The brains, ensure that what the cluster is running and what is desired keep converging

Scheduler #

Assigns work to the Nodes based on their capacity and work affinity

Etcd Service #

Key/value store that is used for all state in K8s cluster Holds locks for distributed work

Misc #

YAML in K8s #

  • apiVersion - K8s version that defines object
  • kind - type of object (eg Pod)
  • metadata - name, labels
  • spec - defintion of the object

Services #

  • NodePort - assigns that nodePort on every node so that a service can be accessed via the node IP
  • clusterIP - the default, picks an IP from the pod CIDR and uses that for the service
  • Loadbalancer - uses the external IaaS to create a loadbalancer

Dockerfile #

  • entrypoint == cmd in pod
  • cmd == args in pod

Ingress #

More advanced solution compared to service to handle path based routing, host based routing, etc to multiple pods

Network Policies #

Firewall rules for a cluster