Cloud Native 9 min read

What Is Kubernetes? A Beginner’s Guide to Core Concepts and Components

This article introduces Kubernetes, Google's open‑source container orchestration platform, explaining its core concepts such as Pods, ReplicationControllers, Services, and Labels, and detailing the main components like kubectl, kube‑apiserver, controller‑manager, scheduler, proxy, and kubelet, along with their OpenStack equivalents.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
What Is Kubernetes? A Beginner’s Guide to Core Concepts and Components

Kubernetes Overview

Kubernetes is an open‑source container‑cluster management system originally developed by Google, providing deployment, maintenance, and scaling mechanisms for containerized applications across machines. It runs on platforms such as GCE, vSphere, CoreOS, OpenShift, Azure, or directly on physical hosts.
Example:

OpenStack manages virtual machines (KVM, Xen, VMware, etc.).

Kubernetes manages containers (Docker).

Kubernetes Concepts (Roles)

Pod A Pod is the smallest operational unit in Kubernetes, consisting of one or more containers that share the same volumes and network namespace, and must run on the same host.

ReplicationController (RC) RC manages Pods, ensuring the number of available Pods matches the desired count. It creates Pods from a template, can modify Pod attributes dynamically, and uses labels to associate or delete Pods.

Label Labels are key/value pairs used to distinguish Pods, Services, and RCs; multiple labels can be attached, but each key is unique.

Service A Service abstracts a set of Pods, providing a stable IP address and load‑balancing across the Pods. It presents a single access point to external clients without exposing the underlying Pod details.

Kubernetes Components

Kubernetes components are similar to OpenStack, consisting of various roles that together support the system. Main components include kubectl, kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy, kubelet , plus the data store etcd and optional network service Flannel .

Comparison with OpenStack Components

kubectl ↔ nova/glance/neutron/cinder (client CLI tools)

kube-apiserver ↔ nova‑api (REST API service)

kube-controller-manager ↔ keystone (multiple controllers)

kube-scheduler ↔ nova‑scheduler (task scheduling)

kube-proxy ↔ iptables (network proxy/forwarding)

kubelet ↔ nova‑compute (container/VM management)

etcd ↔ MySQL (information storage)

flannel ↔ dnsmasq (IP address allocation)

Kubectl
A command‑line tool that formats received commands and sends them to kube‑apiserver, serving as the entry point for platform operations.
Kube‑apiserver
The control entry point of the system, exposing a REST API that can be horizontally scaled for high availability.
Kube‑controller‑manager
Executes background tasks and aggregates multiple controller processes, including:
- Node Controller: handles node up/down status.
- Replication Controller: maintains the desired number of Pods.
- Endpoints Controller: maintains Pod‑Service relationships.
- Service Account & Token Controllers: creates default accounts and API tokens for new namespaces.
Kube‑scheduler
Monitors newly created Pods and assigns them to suitable nodes for execution.
Kube‑proxy
Runs on each node, managing network rules and forwarding to make Services appear as abstracted entities.
Kubelet
Runs on each node as an agent, monitoring assigned Pods, mounting volumes, downloading secrets, running containers via Docker, and reporting status back to the REST system.

Diagram illustrating the architecture:

Kubernetes architecture diagram
Kubernetes architecture diagram
Pod
A group of applications sharing context, possibly isolated by cgroups, forming a logical host that can contain one or more containers. All containers in a Pod run on the same physical or virtual host.

Pod context combines Linux namespaces, including:

pod namespace (process visibility)
network namespace (shared IP and ports)
ipc namespace (SystemV IPC or POSIX message queues)
uts namespace (shared hostname)
Resource Sharing and Communication
All applications in a Pod share the same network namespace, allowing them to discover and communicate via localhost. Each Pod receives a unique IP address for inter‑node and cross‑network container communication.
Pods serve as the smallest deployable unit, supporting horizontal scaling and replication.
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeDevOpscontainer orchestration
MaGe Linux Operations
Written by

MaGe Linux Operations

Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.