Deploying Your First Pod
Learn to define and deploy a simple application as a Pod in a Kubernetes cluster using YAML manifests and `kubectl`.
Pods: Smallest K8s Unit
In Kubernetes, the smallest deployable unit is a Pod. Think of a Pod as a logical host for one or more containers.
While Docker deals with individual containers, Kubernetes orchestrates Pods. A Pod encapsulates application containers, storage resources, a unique network IP, and options that govern how containers run.
Why Pods, Not Just Containers?
Why do we need Pods when we already have containers?
- Shared Resources: Containers within the same Pod share the same network namespace and IP address. They can communicate using
localhost. - Co-location: Pods ensure that co-located containers (like an app and a helper 'sidecar') are always scheduled together on the same node.
- Abstraction: Pods provide an abstraction layer over individual containers, making orchestration simpler.