kubectl ------- List of most useful `kubectl` commands or global settings. Explore a Kubernetes environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Print the address of the master and cluster services:: kubectl cluster-info List all nodes of the cluster:: kubectl get nodes List all resources:: kubectl get all Display more information:: kubectl get all -o wide Get details about a resource:: kubectl describe pod my-pod Get definition as a file:: kubectl get pod my-pod -o yaml Select namespace:: kubectl --namespace=dev-ns Get list of pods and services:: kubectl get pod,svc Get all resources matching a label:: kubectl get all --selector label=value Deploy a resource:: kubectl create -f Deploy all resources from current folder:: kubectl create -f . Show without header (to pipe with other commnands):: kubectl get pods --no-headers | wc Change resources ~~~~~~~~~~~~~~~~ Live edit a resource:: kubectl edit pod my-pod Dry run:: kubectl --dry-run=client Start running 1 or more instances of a container image in the cluster:: kubectl run hello-minikube Get help ~~~~~~~~ Command help:: kubectl get --help Resource overall information:: kubectl explain pods Resource definition structure help:: kubectl explain pods --recursive | grep envFrom -A3 Inspect pods ~~~~~~~~~~~~ Exec command in a pod (in that case, checking the user running in the container):: kubectl exec my-pod -- whoami Get logs:: kubectl logs -f my-pod Templates ~~~~~~~~~ Simply create a template yaml file using:: kubectl run bee --image=nginx --dry-run -o yaml > pod.yaml Advanced stuff ~~~~~~~~~~~~~~~ List all docker images used in your kubernetes environment (assuming you have access to all namespaces):: kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec['initContainers', 'containers'][*].image}" |\ tr -s '[[:space:]]' '\n' |\ sort |\ uniq -c