https://github.com/oleonardorodrigues/cheatsheet-kubectl
Kubectl Cheatsheet (WIP)
https://github.com/oleonardorodrigues/cheatsheet-kubectl
cheatsheet commands devops kubectl kubectl-commands kubernetes utilities
Last synced: 3 months ago
JSON representation
Kubectl Cheatsheet (WIP)
- Host: GitHub
- URL: https://github.com/oleonardorodrigues/cheatsheet-kubectl
- Owner: OLeonardoRodrigues
- Created: 2023-08-19T20:27:27.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-21T00:29:50.000Z (almost 2 years ago)
- Last Synced: 2025-02-07T14:15:25.158Z (5 months ago)
- Topics: cheatsheet, commands, devops, kubectl, kubectl-commands, kubernetes, utilities
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cheatsheet Kubectl
1. Get Running Pods:
kubectl get pods --field-selector=status.phase=Running -n [namespace]
1. Get Failed or Errored Pods:
kubectl get pods --field-selector=status.phase=Failed -n [namespace]
1. Describe Deployment:
kubectl describe deployment my-deployment -n [namespace]
1. Tail Logs from Container in Pod:
kubectl logs -f pod my-pod -c container-name -n [namespace]
1. Access or Execute Command from Container:
kubectl exec -it my-pod -n [namespace] --container container-name -- /bin/bash
1. Edit ConfigMap:
kubectl edit configmap my-configmap -n [namespace]
1. Rollout Status:
kubectl rollout status deployment my-deployment -n [namespace]
1. Scale Deployment:
kubectl scale deployment my-deployment --replicas=3 -n [namespace]
1. Select Pods by Label:
kubectl get pods -l app=my-app -n [namespace]
1. Port Forward Pod so it is accessible from localhost:
kubectl port-forward -n [namespace] pod my-pod 8080:80
1. Get Resource Usage from Specific Pod:
kubectl top pod my-pod -n [namespace]
1. Apply Remote Manifest:
kubectl apply -f https://url-to-resource.yaml -n [namespace]
1. Explain Field:
kubectl explain pod.spec.containers
1. List Events Sorted by Timestamp:
kubectl get events --sort-by=.metadata.creationTimestamp
1. Annotate Deployment:
kubectl annotate deployment my-deployment my-label=updated -n [namespace]
1. Rollback Deployment:
kubectl rollout undo deployment my-deployment -n [namespace]
1. PVCs by Capacity:
kubectl get pvc --sort-by=.spec.capacity.storage
1. View Deployment Rollout History:
kubectl rollout history deployment my-deployment -n [namespace]
1. Label a Pod:
kubectl label pod my-pod my-label=updated -n [namespace]
1. Diff Manifests:
kubectl diff -f https://url-to-new-resource.yaml
1. Node Details:
kubectl describe node my-node
1. Get Services with Details:
kubectl get services --all-namespaces -o wide
1. Pause Rollout:
kubectl rollout pause deployment my-deployment -n [namespace]
1. Describe Ingress:
kubectl describe ingress my-ingress -n [namespace]
1. Force Delete Pod:
kubectl delete pod my-pod --grace-period=0 --force -n [namespace]
1. Decode Secret (Kubernetes Secrets are too easy to break):
kubectl get secret my-secret -o jsonpath='{.data.username}' | base64 -d
1. Resume Rollout:
kubectl rollout resume deployment my-deployment -n [namespace]
1. Export HPA:
kubectl get hpa my-hpa -n [namespace] -o yaml > hpa.yaml
1. Taint a Node:
kubectl taint node my-node key=value:NoSchedule
1. Get Completed Jobs:
kubectl get jobs -n [namespace] --field-selector=status.successful=1
1. Drain a Node:
kubectl drain my-node --ignore-daemonsets
1. Service IPs:
kubectl get endpoints my-service -n [namespace] -o jsonpath='{.subsets[0].addresses[*].ip}'
1. Rollback by Revision:
kubectl rollout history deployment my-deployment --revision=3
1. Explain Replica Count:
kubectl explain deployment.spec.replicas
1. Replace Resource:
kubectl replace -f https://url-to-updated-resource.yaml
1. Restart Deployment:
kubectl rollout restart deployment my-deployment
1. Uncordon Node:
kubectl uncordon my-node
1. Pending CSRs:
kubectl get csr --sort-by=.metadata.creationTimestamp
1. Rollback with Revision:
kubectl rollout undo deployment my-deployment --to-revision=2
1. Cordon Node:
kubectl cordon my-node
1. CRD List:
kubectl api-resources | grep CustomResourceDefinition
1. DaemonSet Status:
kubectl rollout status daemonset/my-daemonset
1. Ingress Hostname:
kubectl get ingress my-ingress -o jsonpath='{.spec.rules[0].host}'
1. Debug Pod:
kubectl run -it --rm --restart=Never debug-pod --image=busybox -- sh
1. Label Value:
kubectl get rs my-replicaset -o jsonpath='{.metadata.labels.app}'
1. Create Secret:
kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=pass
1. Rollback DaemonSet:
kubectl rollout undo daemonset/my-daemonset
1. Namespace Deployments:
kubectl get deploy -n my-namespace
1. ConfigMap Data:
kubectl get cm my-configmap -o jsonpath='{.data.key}'
1. DaemonSet History:
kubectl rollout history daemonset/my-daemonset
1. Service Ports:
kubectl explain svc.spec.ports