Skip to main content

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.

Tips, Tricks, Roadmaps, Resources, Networking, Motivation, Guidance, and Cool Stuff ♥

Updated on Dec 30, 2025