Skip to main content

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