CKAD Notes
September 15, 2020
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==cmdin podcmd==argsin 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