skip to content
Astro Cactus

Introduction to Kubernetes: Core Concepts and Architecture

/ 2 min read

What is Kubernetes?

Kubernetes (K8s) is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. Originally developed by Google, it is now maintained by the Cloud Native Computing Foundation (CNCF).

Core Components

Control Plane Components

The control plane manages the worker nodes and the Pods in the cluster. Here are its main components:

  1. kube-apiserver

    • The API server is the front end for the Kubernetes control plane
    • Exposes the Kubernetes API
    • Handles all administrative operations
  2. etcd

    • Consistent and highly-available key value store
    • Stores all cluster data
    • Source of truth for cluster state
  3. kube-scheduler

    • Watches for newly created Pods with no assigned node
    • Selects a node for them to run on
    • Considers resource requirements, hardware/software constraints, etc.
  4. kube-controller-manager

    • Runs controller processes
    • Handles node failures
    • Maintains correct number of pods
    • Manages service accounts and API access tokens

Node Components

Components that run on every node:

  1. kubelet

    • Ensures containers are running in a Pod
    • Manages container lifecycle
    • Reports node and Pod status to the API server
  2. kube-proxy

    • Maintains network rules on nodes
    • Handles Pod networking and service abstraction
    • Implements part of the Kubernetes Service concept
  3. Container Runtime

    • Software responsible for running containers
    • Examples: containerd, CRI-O

Basic Kubernetes Objects

Pods

  • Smallest deployable units in Kubernetes
  • Can contain one or more containers
  • Share network namespace and storage
  • Always scheduled together

Deployments

  • Declares desired state for Pods
  • Handles rolling updates and rollbacks
  • Manages ReplicaSets
  • Ensures availability during updates

Services

  • Exposes Pods as network services
  • Provides stable endpoints
  • Types: ClusterIP, NodePort, LoadBalancer
  • Handles service discovery and load balancing

ConfigMaps and Secrets

  • Store configuration data
  • Decouple configuration from Pod specifications
  • Secrets are for sensitive data
  • Can be mounted as files or environment variables

Next Steps

This introduction covers the basic architecture and components of Kubernetes. In future posts, we’ll dive deeper into:

  • Pod lifecycle and scheduling
  • Networking concepts
  • Storage management
  • Security best practices
  • Advanced deployment strategies

Stay tuned for more detailed posts about each of these topics!

Next in Series

Next up in our Kubernetes series: Kubernetes Networking Fundamentals