Kubernetes Command Cheat Sheet

Maciej
2 min readSep 14, 2020

--

Quick cheat sheet, which can be used for daily basis work with Kubernetes.

Commands for Pods

  • Pod List
kubectl get pods
kubectl get pods -o wide
kubectl get pods -n kube-system // namespace
kubectl get pods --selector app = app1, env = prod // label filtering
kubectl get pods --all-namespaces
  • Pod Status
kubectl describe pod pod-name
  • Create Pod
kubectl run pod-name --image nginx
  • Edit Pod
kubectl edit under sub-name
kubectl get under pod-name -o yaml> pod.yaml
  • Create Pod with yml files
kubectl create -f pod-difinition.yml
kubectl apply -f pod-difinition.yml
  • Delete Pod
kubectl delete under sub-name

Commands for ReplicaSet

  • Get Replicaset
kubectl get replicaset
  • Delete Replicaset
kubectl delete replicaset replicaset-name
  • Scale
kubectl replace -f replicaset-definition.yml
kubectl scale --replicas=6 -f replicaset-definition.yml
kubectl scale --replicas=6 replicaset myapp-replicaset
  • Generate Deployment file
kubectl create deployment --image=nginx nginx --replicas=6 --dry-run -o yaml > deployment.yaml

Commands for Namespaces

  • Get Pods from namespace
kubectl get pods --namespace=develop
kubectl get pods --all-namespaces
  • Change default namespace
kubelctl config set-context $(kubectl config current-context) --namespace=develop

Scheduling

  • Taints / Tolerations -Node
kubectl taint nodes node3 app=red:NoSchedule
// The settings on the YAML side are as follows
spec:
tolerations:
- key: "app"
operator: "Equal"
value: "blue"
effect: "NoSchedule"
  • Remove Taints
kubectl taint nodes node3 app=red:NoSchedule-
  • Node Slector | Label Nodes
kubectl label nodes node-name label-key=label-name// The settings on the YAML side are as follows
spec:
nodeSelector:
label-key: label-name
  • Node Affinity
apiVersion: v1
kind: Pod
metadata:
name: with-pod-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: security
operator: In
values:
- S1
containers:
- name: with-pod-affinity
image: k8s.gcr.io/pause:2.0
  • Get Events
kubectl get events | grep schedule
  • Get Logs
kubectl get logs | grep schedule

--

--

Maciej
Maciej

Written by Maciej

DevOps Consultant. I’m strongly focused on automation, security, and reliability.

No responses yet