Skip to main content

Command Palette

Search for a command to run...

Kubernetes

Published
•2 min read•View as Markdown
B
Senior Software Engineer | Backend, Cloud, Data, Machine Learning

Kubernetes, often abbreviated as K8s, is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications. Here's an overview of Kubernetes:

  1. Purpose:

    • Automate deployment, scaling, and operations of application containers across clusters of hosts

    • Provide a platform for building container-centric application environments

  2. Key Concepts:

    • Pods: Smallest deployable units, can contain one or more containers

    • Nodes: Worker machines in a Kubernetes cluster

    • Cluster: Set of nodes that run containerized applications

    • Control Plane: Container orchestration layer that exposes the API and interfaces to define, deploy, and manage the lifecycle of containers

  3. Core Components:

    • API Server: Front-end for the Kubernetes control plane

    • etcd: Consistent and highly-available key value store

    • Scheduler: Assigns pods to nodes

    • Controller Manager: Runs controller processes

    • Kubelet: Ensures that containers are running in a pod

    • Container Runtime: Software responsible for running containers (e.g., Docker)

  4. Features:

    • Service discovery and load balancing

    • Storage orchestration

    • Automated rollouts and rollbacks

    • Self-healing

    • Secret and configuration management

    • Horizontal scaling

  5. Workload Resources:

    • Deployments: Manage ReplicaSets and provide declarative updates to Pods

    • StatefulSets: Manage stateful applications

    • DaemonSets: Ensure all (or some) nodes run a copy of a Pod

    • Jobs: Run-to-completion tasks

  6. Services:

    • ClusterIP: Exposes the service on a cluster-internal IP

    • NodePort: Exposes the service on each Node's IP at a static port

    • LoadBalancer: Exposes the service externally using a cloud provider's load balancer

    • Ingress: Manages external access to services in a cluster

  7. Storage:

    • Persistent Volumes (PV) and Persistent Volume Claims (PVC)

    • StorageClasses for dynamic provisioning

  8. Configuration:

    • ConfigMaps for non-confidential data

    • Secrets for sensitive information

  9. Security:

    • Role-Based Access Control (RBAC)

    • Network Policies

    • Pod Security Policies

  10. Extensibility:

    • Custom Resource Definitions (CRDs)

    • Operators for managing complex applications

  11. Ecosystem:

    • Helm: Package manager for Kubernetes

    • Prometheus: Monitoring solution

    • Istio: Service mesh for Kubernetes

Kubernetes has become the de facto standard for container orchestration, widely adopted in both cloud and on-premises environments. It's particularly useful for managing complex, microservices-based applications at scale.

More from this blog

yesicbap

437 posts