An open API service indexing awesome lists of open source software.

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)

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