Skip to content

OLeonardoRodrigues/cheatsheet-kubectl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Cheatsheet Kubectl

  1. Get Running Pods: kubectl get pods --field-selector=status.phase=Running -n [namespace]

  2. Get Failed or Errored Pods: kubectl get pods --field-selector=status.phase=Failed -n [namespace]

  3. Describe Deployment: kubectl describe deployment my-deployment -n [namespace]

  4. Tail Logs from Container in Pod: kubectl logs -f pod my-pod -c container-name -n [namespace]

  5. Access or Execute Command from Container: kubectl exec -it my-pod -n [namespace] --container container-name -- /bin/bash

  6. Edit ConfigMap: kubectl edit configmap my-configmap -n [namespace]

  7. Rollout Status: kubectl rollout status deployment my-deployment -n [namespace]

  8. Scale Deployment: kubectl scale deployment my-deployment --replicas=3 -n [namespace]

  9. Select Pods by Label: kubectl get pods -l app=my-app -n [namespace]

  10. Port Forward Pod so it is accessible from localhost: kubectl port-forward -n [namespace] pod my-pod 8080:80

  11. Get Resource Usage from Specific Pod: kubectl top pod my-pod -n [namespace]

  12. Apply Remote Manifest: kubectl apply -f https://url-to-resource.yaml -n [namespace]

  13. Explain Field: kubectl explain pod.spec.containers

  14. List Events Sorted by Timestamp: kubectl get events --sort-by=.metadata.creationTimestamp

  15. Annotate Deployment: kubectl annotate deployment my-deployment my-label=updated -n [namespace]

  16. Rollback Deployment: kubectl rollout undo deployment my-deployment -n [namespace]

  17. PVCs by Capacity: kubectl get pvc --sort-by=.spec.capacity.storage

  18. View Deployment Rollout History: kubectl rollout history deployment my-deployment -n [namespace]

  19. Label a Pod: kubectl label pod my-pod my-label=updated -n [namespace]

  20. Diff Manifests: kubectl diff -f https://url-to-new-resource.yaml

  21. Node Details: kubectl describe node my-node

  22. Get Services with Details: kubectl get services --all-namespaces -o wide

  23. Pause Rollout: kubectl rollout pause deployment my-deployment -n [namespace]

  24. Describe Ingress: kubectl describe ingress my-ingress -n [namespace]

  25. Force Delete Pod: kubectl delete pod my-pod --grace-period=0 --force -n [namespace]

  26. Decode Secret (Kubernetes Secrets are too easy to break): kubectl get secret my-secret -o jsonpath='{.data.username}' | base64 -d

  27. Resume Rollout: kubectl rollout resume deployment my-deployment -n [namespace]

  28. Export HPA: kubectl get hpa my-hpa -n [namespace] -o yaml > hpa.yaml

  29. Taint a Node: kubectl taint node my-node key=value:NoSchedule

  30. Get Completed Jobs: kubectl get jobs -n [namespace] --field-selector=status.successful=1

  31. Drain a Node: kubectl drain my-node --ignore-daemonsets

  32. Service IPs: kubectl get endpoints my-service -n [namespace] -o jsonpath='{.subsets[0].addresses[*].ip}'

  33. Rollback by Revision: kubectl rollout history deployment my-deployment --revision=3

  34. Explain Replica Count: kubectl explain deployment.spec.replicas

  35. Replace Resource: kubectl replace -f https://url-to-updated-resource.yaml

  36. Restart Deployment: kubectl rollout restart deployment my-deployment

  37. Uncordon Node: kubectl uncordon my-node

  38. Pending CSRs: kubectl get csr --sort-by=.metadata.creationTimestamp

  39. Rollback with Revision: kubectl rollout undo deployment my-deployment --to-revision=2

  40. Cordon Node: kubectl cordon my-node

  41. CRD List: kubectl api-resources | grep CustomResourceDefinition

  42. DaemonSet Status: kubectl rollout status daemonset/my-daemonset

  43. Ingress Hostname: kubectl get ingress my-ingress -o jsonpath='{.spec.rules[0].host}'

  44. Debug Pod: kubectl run -it --rm --restart=Never debug-pod --image=busybox -- sh

  45. Label Value: kubectl get rs my-replicaset -o jsonpath='{.metadata.labels.app}'

  46. Create Secret: kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=pass

  47. Rollback DaemonSet: kubectl rollout undo daemonset/my-daemonset

  48. Namespace Deployments: kubectl get deploy -n my-namespace

  49. ConfigMap Data: kubectl get cm my-configmap -o jsonpath='{.data.key}'

  50. DaemonSet History: kubectl rollout history daemonset/my-daemonset

  51. Service Ports: kubectl explain svc.spec.ports