Skip to content
Basic Theory

Basic Theory

Covers the foundational concepts for the advanced course, from how kubectl works to resource structure, cluster components, workloads (Pet vs Cattle, StatefulSet), package management (Helm), and API extension (CRD).

What Is kubectl?
kubectl is a command-line tool for interacting with a Kubernetes cluster.
Kubernetes Resource Map
Kubernetes combines many types of resource objects to build a cluster and run applications.
K8s Cluster Components
A Kubernetes cluster consists of a control plane that handles management and worker nodes where the actual workloads run.
Why the Add-on Concept Matters in K8s
Kubernetes has a philosophy of clearly separating core components from add-ons.
Problems with Add-on Component Setups
Kubernetes’ add-on approach provides flexibility, but it also introduces problems and complexity.
The Philosophy of K8s CSI (Container Storage Interface)
CSI is a key standard specification that lets Kubernetes extend flexibly without being locked into a specific storage vendor.
Helm - The Kubernetes Package Manager
Helm is a package manager for defining, installing, and upgrading Kubernetes applications.
Pet vs Cattle: The Philosophy of Cloud Infrastructure
Explore the Pet and Cattle analogy to understand the core design philosophy of cloud-native environments and Kubernetes.
StatefulSet - A K8s Resource with Pet-like Characteristics
Kubernetes follows the Cattle philosophy by default, but StatefulSet is an exception with characteristics closer to a Pet.
StatefulSet vs ReplicaSet - Detailed Comparison
Compare StatefulSet and ReplicaSet, two core resources for managing groups of Pods in Kubernetes.
Why Package Management Tools Emerged
Starting from the problems with Kubernetes add-on component setups, see why package management tools like Helm became necessary.
Why StatefulSet Needs a Headless Service
Learn the key reason why a Headless Service, rather than a regular Service, is essential when running a StatefulSet.
CustomResourceDefinition (CRD)
How to extend the Kubernetes API to create new, user-defined resource types.