0% found this document useful (0 votes)
70 views

Kubernetes Cheat Sheet & Quick Reference

This document contains a list of commonly used kubectl commands for working with Kubernetes resources like nodes, pods, services, deployments and more. It includes commands for getting, describing, updating and deleting resources as well as creating new resources and outputting resource configurations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Kubernetes Cheat Sheet & Quick Reference

This document contains a list of commonly used kubectl commands for working with Kubernetes resources like nodes, pods, services, deployments and more. It includes commands for getting, describing, updating and deleting resources as well as creating new resources and outputting resource configurations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Kubernetes

This page contains a list of commonly used kubectl commands and flags.

# Viewing and finding resources


Nodes

kubectl get no # Display all node information


kubectl get no -o wide # Show more information about all nodes
kubectl describe no # Display node details
kubectl get no -o yaml # Display node details in yaml format
kubectl get node --selector=[label_name] # Filter the node with the specified label
kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type="ExternalIP")].address}'
# Output the field information defined by the jsonpath expression
kubectl top node [node_name] # Display node (CPU/memory/storage) usage

Resource name: nodes, abbreviation: no

Pods

kubectl get po # Display all container group information


kubectl get po -o wide
kubectl describe po
kubectl get po --show-labels # View the labels of the container group
kubectl get po -l app=nginx
kubectl get po -o yaml
kubectl get pod [pod_name] -o yaml --export
kubectl get pod [pod_name] -o yaml --export > nameoffile.yaml
# Export container group information to yaml file in yaml format
kubectl get pods --field-selector status.phase=Running
# Use the field selector to filter out container group information

Resource name: pods, abbreviation: po

Namespaces

kubectl get ns
kubectl get ns -o yaml
kubectl describe ns

Resource name: namespaces, abbreviation: ns

Deployments

kubectl get deploy


kubectl describe deploy
kubectl get deploy -o wide
kubectl get deploy -o yaml

Resource name: deployments, abbreviation: deploy

Services

kubectl get svc


kubectl describe svc
kubectl get svc -o wide
kubectl get svc -o yaml
kubectl get svc --show-labels
Daemon Sets

kubectl get ds
kubectl describe ds --all-namespaces
kubectl describe ds [daemonset_name] -n [namespace_name]
kubectl get ds [ds_name] -n [ns_name] -o yaml

Resource name: daemonsets, abbreviation: ds

Events

kubectl get events


kubectl get events -n kube-system
kubectl get events -w

Resource name: events, abbreviation: ev

Logs

kubectl logs [pod_name]


kubectl logs --since=1h [pod_name]
kubectl logs --tail=20 [pod_name]
kubectl logs -f -c [container_name] [pod_name]
kubectl logs [pod_name] > pod.log

Service Accounts

kubectl get sa
kubectl get sa -o yaml
kubectl get serviceaccounts default -o yaml >./sa.yaml
kubectl replace serviceaccount default -f ./sa.yaml
Resource name: serviceaccounts, abbreviation: ev

Replica Sets

kubectl get rs
kubectl describe rs
kubectl get rs -o wide
kubectl get rs -o yaml

Resource name: replicasets, abbreviation: rs

Roles

kubectl get roles --all-namespaces


kubectl get roles --all-namespaces -o yaml

Secrets

kubectl get secrets


kubectl get secrets --all-namespaces
kubectl get secrets -o yaml

Config maps

Resource name: configmaps, abbreviation: cm

kubectl get cm
kubectl get cm --all-namespaces
kubectl get cm --all-namespaces -o yaml

Ingresses
Resource name: ingresses, abbreviation: ing

kubectl get ing


kubectl get ing --all-namespaces

Persistent Volumes

Resource name: persistentvolumes, abbreviation: pv

kubectl get pv
kubectl describe pv

Persistent volume declaration

Resource name: persistentvolumeclaims, abbreviation: pvc

kubectl get pvc


kubectl describe pvc

storage class

Resource name: storageclasses, Abbreviation: sc

kubectl get sc
kubectl get sc -o yaml

Multiple resources

kubectl get svc, po


kubectl get deploy, no
kubectl get all

# Updating resources
Taint

kubectl taint [node_name] [taint_name]

Label

kubectl label [node_name] disktype=ssd


kubectl label [pod_name] env=prod

Maintain/Schedulable

kubectl cordon [node_name] # node maintenance


kubectl uncordon [node_name] # node is schedulable

clear

kubectl drain [node_name] # empty the node

Node/Pod

kubectl delete node [node_name]


kubectl delete pod [pod_name]
kubectl edit node [node_name]
kubectl edit pod [pod_name]
Stateless/Namespaced

kubectl edit deploy [deploy_name]


kubectl delete deploy [deploy_name]
kubectl expose deploy [deploy_name] --port=80 --type=NodePort
kubectl scale deploy [deploy_name] --replicas=5
kubectl delete ns
kubectl edit ns [ns_name]

Service

kubectl edit svc [svc_name]


kubectl delete svc [svc_name]

Daemon set

kubectl edit ds [ds_name] -n kube-system


kubectl delete ds [ds_name]

Service account

kubectl edit sa [sa_name]


kubectl delete sa [sa_name]

Notes

kubectl annotate po [pod_name] [annotation]


kubectl annotateno [node_name]
# Create resources
Create pod

kubectl create -f [name_of_file]


kubectl apply -f [name_of_file]
kubectl run [pod_name] --image=nginx --restart=Never
kubectl run [pod_name] --generator=run-pod/v1 --image=nginx
kubectl run [pod_name] --image=nginx --restart=Never

Create Service

kubectl create svc nodeport [svc_name] --tcp=8080:80

Create a stateless application

kubectl create -f [name_of_file]


kubectl apply -f [name_of_file]
kubectl create deploy [deploy_name] --image=nginx

interaction

kubectl run [pod_name] --image=busybox --rm -it --restart=Never --sh

Output YAML

kubectl create deploy [deploy_name] --image=nginx --dry-run -o yaml > deploy.yaml


kubectl get po [pod_name] -o yaml --export > pod.yaml

Help
kubectl -h
kubectl create -h
kubectl run -h
kubectl explain deploy.spec

# Miscellaneous
APIs

kubectl get --raw /apis/metrics.k8s.io/

Information

kubectl config
kubectl cluster-info
kubectl get componentstatus

You might also like