Info
Kubernetes Core Components
- API Server - The central management component, on the K8s Master node, that exposes the Kubernetes API and processes all REST operations for the cluster
- etcd - A distributed key-value store that stores all cluster data, configuration, and state
- Kubelet - An agent that runs on each node and ensures containers are running in pods as specified
- Container Runtime - The software responsible for running containers (e.g., Docker, containerd, CRI-O)
- Controller - Background processes that watch the cluster state and make changes to move current state toward desired state
- Scheduler - Assigns newly created pods to nodes based on resource availability and constraints
K8s Master node contains
- api server
- etcd
- controller
- scheduler
List all API resources (ctl resource)
kubectl api-resources
Popular Plugins
- Kubectx / Kubens
- Kail # tailing all the logs in one terminal for troubleshooting
- Kube-score # Static code analysis of kubernetes files
- Ksniff # Utilises tcpdump and wireshark on a cluster
- Kubectl tree # explores ownership relationships between Kubernetes objects to optimize the display of information
- Kubepug # downloads the information of the newer Kubernetes version and compares it to the current workload to identify updates required by the potential new deprecations.
- Kubectl-cost # Kubernetes cost allocation metrics via the Kubecost APIs.
- Popeye # scans live resources and reports potential resource issues and misconfigurations. Combined with metric-server, it can also recommend resource allocations to optimize the workload.
- Starboard is another Aqua security project that aims to unify the security in a Kubernetes environment.
- Kubectl-debug # troubleshoot any running pod. This plugin creates a new container inside the pod with all the tools required to debug a potential issue
- stern # tail multiple pods on Kubernetes