An open-source Container Orchestration Engine
Helps in automating application deployment, scaling, and management of containerized applications .
API Server
Scheduler
Controller Manager
etcd
kube-proxy
kubelet
Container Engine - containerd
plugins
kubelet interacts with the underlying Container Engine also installed on all the nodes, and makes sure that the containers that need to run are actually running.
kube-proxy is in charge of managing the network connectivity to the containers. It does so through the use of iptables entries.
The goal of the Container Runtime Interface (CRI) is to allow easy integration of container runtimes with kubelet. By providing a protobuf method for API, specifications and libraries, new runtimes can easily be integrated without needing deep understanding of kubelet internals.
Key terms --
Profile, namespace
Controller - deployment
Controller- replicas
pod - A Pod (as in a peas-in-a-pod ) is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers.
service (nodeport)
persistent volume
node (vm)
Custom Resource Definition(CRD)
Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. Operators follow Kubernetes principles, notably the control loop.
Plugin - tree, oidc-login
kubectl krew install tree
Networking Setup
ClusterIP - for pod to pod communication via service
NodePort - for external to pod communication
LoadBalancer - for external to pod communication
Ingress Controller
Tools
Octant
Lens