Micro Cheatsheet
Cluster Basics
Create namespace:
kubectl create namespace dev
kubectl get ns
Switch context:
kubectl config get-contexts
kubectl config use-context <context-name>
Check cluster info:
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
Pods – The Smallest Unit
Delete pod:
kubectl delete pod <pod-name>
Logs & exec:
kubectl logs <pod-name>
kubectl exec -it <pod-name> -- /bin/sh
Describe pod:
kubectl describe pod <pod-name>
List pods:
kubectl get pods
kubectl get pods -o wide
Deployments – Managing Pods
Rollout & undo:
kubectl rollout status deployment nginx
kubectl rollout undo deployment nginx
Scale deployment:
kubectl scale deployment nginx --replicas=5
Apply YAML:
kubectl apply -f deployment.yaml
Create deployment:
kubectl create deployment nginx --image=nginx
Services – Networking Pods
Describe service:
kubectl describe svc nginx
List services:
kubectl get svc
Expose deployment:
kubectl expose deployment nginx --type=ClusterIP --port=80
kubectl expose deployment nginx --type=NodePort --port=80
kubectl expose deployment nginx --type=LoadBalancer --port=80
ConfigMaps & Secrets
Secret:
kubectl create secret generic db-secret --from-literal=DB_PASS=12345
kubectl get secrets
kubectl describe secret db-secret
ConfigMap:
kubectl create configmap app-config --from-literal=ENV=prod
kubectl get configmap
kubectl describe configmap app-config
Storage – Persistent Data
StatefulSets:
kubectl get statefulsets
kubectl describe statefulset <name>
Persistent Volume Claims (PVC):
kubectl get pvc
kubectl describe pvc <pvc-name>
Persistent Volumes (PV):
kubectl get pv
kubectl describe pv <pv-name>
Scaling & Autoscaling
- Vertical Pod Autoscaler (VPA): (via add‑on)
- Cluster Autoscaler (CA): (cloud provider integration).
Horizontal Pod Autoscaler (HPA):
kubectl autoscale deployment nginx --cpu-percent=70 --min=2 --max=10
kubectl get hpa
Networking – Advanced
DNS/CoreDNS:
kubectl run -i --tty dns-test --image=busybox -- /bin/sh
nslookup kubernetes.default
Ingress:
kubectl get ingress
kubectl describe ingress <name>
Security – RBAC & Policies
Role & RoleBinding:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: dev
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
kubectl create rolebinding read-pods --role=pod-reader --serviceaccount=dev:my-sa --namespace=dev
Service Account:
kubectl create serviceaccount my-sa
kubectl get sa
Monitoring & Debugging
Port forwarding:
kubectl port-forward <pod-name> 8080:80
Describe resources:
kubectl describe pod <name>
Events:
kubectl get events
Logs:
kubectl logs <pod-name>
GitOps & CI/CD
Flux:
kubectl apply -f https://github.com/fluxcd/flux/releases/latest/download/flux.yaml
ArgoCD:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Multi‑Cluster & Federation
KubeFed:
kubectl apply -f https://github.com/kubernetes-sigs/kubefed/releases/download/v0.9.2/kubefed.yaml
kubefedctl join cluster1 --cluster-context=cluster1-context --host-cluster-context=host-context
The Hacker’s Notebook
- Pods = workers.
- Deployments = managers.
- Services = receptionists.
- ConfigMaps = notice boards.
- Secrets = safes.
- PV/PVC = hard drives + save slots.
- HPA = more workers.
- VPA = stronger workers.
- CA = bigger factory floor.
- Ingress/Egress = castle gates.
- Service Mesh = air traffic control.
- Federation = airline headquarters.

Updated on Dec 30, 2025