Sign In

Curriculum 1: What is Kubectl?

Kubernetes Overview

12 min · 15 XP

Kubernetes Overview

Before diving deeper into kubectl, it helps to understand the platform it controls. Kubernetes is the system that makes modern application deployment possible at scale.

What Is Kubernetes?

Kubernetes (often abbreviated as K8s) is an open-source container orchestration platform. It automates the deployment, scaling, and management of containerized applications.

Google originally designed Kubernetes, drawing on over a decade of experience running production workloads. Today it is maintained by the Cloud Native Computing Foundation (CNCF) and has become the industry standard.

Why Containers Need Orchestration

A single container running on your laptop is easy to manage. But in production, you might have hundreds or thousands of containers running across many servers. You need answers to hard questions:

  • Which server should this container run on?
  • What happens if a server crashes?
  • How do I update my application without downtime?
  • How do I scale from 3 instances to 30 when traffic spikes?

Kubernetes answers all of these automatically. It is the system that turns a collection of servers into a single, reliable platform.

Key Components

Control Plane

The control plane is the brain of the cluster. It makes decisions about where to run workloads, monitors health, and responds to changes. Key parts include the API server, scheduler, and controller manager.

Nodes

Nodes are the worker machines (physical or virtual) that actually run your containers. Each node runs a process called the kubelet that communicates with the control plane.

Pods

A Pod is the smallest deployable unit in Kubernetes. It wraps one or more containers and gives them shared networking and storage. When you "run a container" in Kubernetes, you are actually creating a Pod.

# See the nodes in your cluster
kubectl get nodes

# See all pods running in the cluster
kubectl get pods --all-namespaces

The Orchestra Analogy

Think of Kubernetes as an orchestra conductor. The musicians (containers) each play their part, but the conductor decides when they start, how loud they play, and what to do if someone misses a note. Without the conductor, the musicians might all play at once, in the wrong key, at the wrong time. The conductor brings order and harmony -- just like Kubernetes brings order to your containers.

Key Takeaways

  • Kubernetes orchestrates containerized applications across multiple machines
  • The control plane makes scheduling and management decisions
  • Nodes are the workers that run your containers
  • Pods are the smallest unit of deployment
  • Kubernetes solves the hard problems of running containers at scale