Search
 
SCRIPT & CODE EXAMPLE
 

SHELL

kubectl cheat sheet

kubectl apply -f my-manifest.yaml  	# create resource(s)
kubectl delete -f my-manifest.yaml  # delete resource(s)

kubectl get pods                # List all pods in the namespace
kubectl get pods -o wide		# List all pods in ps output format with more information	
kubectl get pods -n <namespaces-name>	# List all pods in particular namespaces
kubectl get svc              	# List all services in the namespace
kubectl get svc -A	         	# List all services in the all namespace
kubectl get nodes				# Get list Nodes in cluster
kubectl get ns					# List Namespace
kubectl create deployment my-dep --image=nginx  # Create Deployment
kubectl edit pods/<pod-name>    # Edit Pods 
kubectl describe svc/<service-name>  # Describe a Services
kubectl logs <pod-name>		 # logs from pod
kubectl port-forward svc/my-service 5000:my-service-port  # Forward Service target port to local port 5000

# All kubectl Commands
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
# Cheatsheet 
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
Comment

kubernetes cheat sheet

# Get commands with basic output
kubectl get services                          # List all services in the namespace
kubectl get pods --all-namespaces             # List all pods in all namespaces
kubectl get pods -o wide                      # List all pods in the current namespace, with more details
kubectl get deployment my-dep                 # List a particular deployment
kubectl get pods                              # List all pods in the namespace
kubectl get pod my-pod -o yaml                # Get a pod's YAML

# Describe commands with verbose output
kubectl describe nodes my-node
kubectl describe pods my-pod

# List Services Sorted by Name
kubectl get services --sort-by=.metadata.name

# List pods Sorted by Restart Count
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'

# List PersistentVolumes sorted by capacity
kubectl get pv --sort-by=.spec.capacity.storage

# Get the version label of all pods with label app=cassandra
kubectl get pods --selector=app=cassandra -o 
  jsonpath='{.items[*].metadata.labels.version}'

# Retrieve the value of a key with dots, e.g. 'ca.crt'
kubectl get configmap myconfig 
  -o jsonpath='{.data.ca.crt}'

# Get all worker nodes (use a selector to exclude results that have a label
# named 'node-role.kubernetes.io/master')
kubectl get node --selector='!node-role.kubernetes.io/master'

# Get all running pods in the namespace
kubectl get pods --field-selector=status.phase=Running

# Get ExternalIPs of all nodes
kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}'

# List Names of Pods that belong to Particular RC
# "jq" command useful for transformations that are too complex for jsonpath, it can be found at https://stedolan.github.io/jq/
sel=${$(kubectl get rc my-rc --output=json | jq -j '.spec.selector | to_entries | .[] | "(.key)=(.value),"')%?}
echo $(kubectl get pods --selector=$sel --output=jsonpath={.items..metadata.name})

# Show labels for all pods (or any other Kubernetes object that supports labelling)
kubectl get pods --show-labels

# Check which nodes are ready
JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' 
 && kubectl get nodes -o jsonpath="$JSONPATH" | grep "Ready=True"

# Output decoded secrets without external tools
kubectl get secret my-secret -o go-template='{{range $k,$v := .data}}{{"### "}}{{$k}}{{"
"}}{{$v|base64decode}}{{"

"}}{{end}}'

# List all Secrets currently in use by a pod
kubectl get pods -o json | jq '.items[].spec.containers[].env[]?.valueFrom.secretKeyRef.name' | grep -v null | sort | uniq

# List all containerIDs of initContainer of all pods
# Helpful when cleaning up stopped containers, while avoiding removal of initContainers.
kubectl get pods --all-namespaces -o jsonpath='{range .items[*].status.initContainerStatuses[*]}{.containerID}{"
"}{end}' | cut -d/ -f3

# List Events sorted by timestamp
kubectl get events --sort-by=.metadata.creationTimestamp

# Compares the current state of the cluster against the state that the cluster would be in if the manifest was applied.
kubectl diff -f ./my-manifest.yaml

# Produce a period-delimited tree of all keys returned for nodes
# Helpful when locating a key within a complex nested JSON structure
kubectl get nodes -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'

# Produce a period-delimited tree of all keys returned for pods, etc
kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'

# Produce ENV for all pods, assuming you have a default container for the pods, default namespace and the `env` command is supported.
# Helpful when running any supported command across all pods, not just `env`
for pod in $(kubectl get po --output=jsonpath={.items..metadata.name}); do echo $pod && kubectl exec -it $pod -- env; done
Comment

kubectl cheat sheet

alias k=kubectl
complete -o default -F __start_kubectl k
Comment

PREVIOUS NEXT
Code Example
Shell :: (28: No space left on device) 
Shell :: varible 
Shell :: lib cairo win64 installation 
Shell :: turn redis off 
Shell :: wsl2 ubuntu 
Shell :: debian search entire system for file 
Shell :: how to install .sh file in ubuntu 
Shell :: break line bash 
Shell :: copier un répertoire et son contenu sous linux 
Shell :: install brew max 
Shell :: installing mongodb on m1 mac 
Shell :: install dlib gpu check 
Shell :: git uncommit last commit but keep changes 
Shell :: Sublime Text install Ubuntu/Debian 
Shell :: how to git clone from a specific branch git 
Shell :: unix cp all files and folders at once 
Shell :: rm -rf * 
Shell :: scp download 
Shell :: git tutorial remove branches on local that do not exist on remote 
Shell :: commit in git 
Shell :: docker run container in background 
Shell :: adb screen record 
Shell :: qemu convert qcow2 to vmdk 
Shell :: how to run .sh script in mac 
Shell :: tar extract to specific location 
Shell :: one liner powershell download file 
Shell :: bash copy file 
Shell :: apk add build-essential 
Shell :: how to install homebrew on mac 
Shell :: rsync only updated files 
ADD CONTENT
Topic
Content
Source link
Name
7+5 =