kubectl & Kubernetes Manifests: The Basics
~10 min read
The minimum Kubernetes vocabulary needed to deploy and inspect a workload on EKS.
kubectl is the command-line tool for interacting with any Kubernetes cluster's API server, including EKS — the same commands work regardless of which cloud (or on-premises) hosts the cluster. A Deployment manifest describes a desired set of Pod replicas (the smallest deployable unit, typically one or a few tightly-coupled containers) and how to roll out updates to them; a Service manifest describes a stable network endpoint that load-balances traffic across a Deployment's pods, even as individual pods are replaced. On EKS specifically, creating a Service of type LoadBalancer (or an Ingress resource) triggers the AWS Load Balancer Controller add-on to provision an actual NLB or ALB, connecting Kubernetes-native traffic routing to real AWS infrastructure.
💻 Code example
kubectl apply -f deployment.yaml
kubectl get pods
kubectl get deployments
kubectl logs <pod-name>
kubectl describe pod <pod-name>
💬 Deep Dive with AI
Key points
- •kubectl works identically against any Kubernetes cluster, including EKS — that portability is Kubernetes' core value proposition
- •A Pod is the smallest deployable unit; a Deployment manages a desired set of Pod replicas and their rollout
- •A Service gives a Deployment's pods a stable network identity even as individual pods are replaced
- •On EKS, a LoadBalancer-type Service or Ingress triggers the AWS Load Balancer Controller to provision a real NLB/ALB