[Kubernetes] Kubernetes Overview

1 minute read


Kubernetes Overview

  • Kubernetes Terminology
  • Kubernetes Control Plane
  • Kubernetes Container Abstractions

Kubernetes Terminology

  • Kubectl: CLI to configure k8s and manage apps
  • Control Plane: Set of containers running on the (master) nodes that manages the cluster, sometimes called the master
    • Includes API server, scheduler, controller manager, etcd and more
    • These containers can be installed in a single master node or can be distributed on multiple master nodes
  • Kubelet: k8s agent running on nodes(worker), allowing the node to talk back to the k8s master
  • Kube-proxy: Controls the network, installed on the (worker) nodes

img


Kubernetes Control Plane

  • etcd: Distributed storage system for key values
    • need multiple k8s containers that will store data inside etcd and manage the cluster
  • API: Way to talk to the cluster and issue orders
  • Scheduler: Control how and where the containers are placed on the nodes in objects called pods
  • Controlled Manager: Looks at the state of the whole cluster and everything that running by using the API.
    • Takes the orders that are giving it(CLI), or the specs, and applies the CLI by determing the difference between what the CLI asked to do and the current state
  • CoreDNS: Controls the DNS

Kubernetes Container Abstractions

  • Pod: Basic unit of deployment, containers are always in pods
  • Controller: Create/Updates pods and other objects
    • Variety of Controllers include Deployment, ReplicaSet, StatefulSet, DaemonSet, Job, CronJob, etc.
  • Service: Network endpoint to connect to a pod
  • Namespace: Filtered group of objects in a cluster
  • Secrets, ConfigMaps, and more

ref