Kubernetes Notes
Common kubernetes terms and commands used in the CLI.
Contents
Namespaces
"An abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Namespaces: | kubectl get namespaces |
kubectl get namespaces |
kubectl get ns |
kubectl get ns |
|
| Describe Namespace: | kubectl describe ns <namespace> |
kubectl describe ns kube-system |
| Change Namespace you're working on: | kubectl config set-context --current --namespace=<namespace> |
kubectl config set-context --current --namespace=kube-system |
Services
"An abstract way to expose an application running on a set of Pods as a network service."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Services: | kubectl get services -n <namespace> |
kubectl get services -n kube-system |
Pods
"The smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Pods in Namespace: | kubectl get pods -n <namespace> |
kubectl get pods -n kube-system |
| List all Pods: | kubectl get pods --all-namespaces |
kubectl get pods --all-namespaces |
| Describe Pods: | kubectl describe pods |
kubectl describe pods |
| Describe Pod: | kubectl describe pod <podname> -n <namespace> |
kubectl describe pod kube-proxy -n kube-system |
| Show Pod Manifests: | kubectl explain pods |
kubectl explain pods |
| Shell into Pod: | kubectl exec -it <podname> -n <namespace> /bin/bash |
kubectl exec -it kube-proxy -n kube-system /bin/bash |
| Shell into specific Container: | kubectl exec -it <podname> -c <containername> /bin/bash |
|
| Delete Pod using file: | kubectl delete -f <filename> |
kubectl delete -f mypod.yaml |
| Delete Pod(s) using label: | kubectl delete pods -l <labelkey>=<label-value> |
kubectl delete pods -l environment=dev |
| Delete ALL Pods: | kubectl delete pods --all |
kubectl delete pods --all |
| Issue Command to Pod: | kubectl exec <podname> -- <command> |
|
| Get Output from Command Run on Specific Container in a Pod: | kubectl exec <podname> -c <containername> -- <command> |
|
| Get Logs | kubectl logs <podname> |
kubectl logs kube-proxy |
kubectl logs --tail=<lines> <podname> |
kubectl logs --tail=20 nginx |
Containers
"A lightweight and portable executable image that contains software and all of its dependencies."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Containers in a Pod: | kubectl get pod <podname> -o jsonpath='{.spec.containers[*].name}{"\n"}' |
kubectl get pod kube-proxy -o jsonpath='{.spec.containers[*].name}{"\n"}' |
Deployments
"An API object that manages a replicated application, typically by running Pods with no local state."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Deployments: | kubectl get deployments -n <namespace> |
kubectl get deployments -n kube-system |
Nodes
Node: A worker machine, either virtual or physical machine.
| To | Command | Example |
|---|---|---|
| List Nodes: | kubectl get node |
kubectl get node |
| Describe Node: | kubectl describe node <nodename> |
|
| Get External IP's of all Nodes: | kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}' |
kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}' |
Persistent Volumes
"An API object that represents a piece of storage in the cluster. Available as a general, pluggable resource that persists beyond the lifecycle of any individual Pod."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List Persistent Volumes: | kubectl get pv |
kubectl get pv |
ConfigMaps
"An API object used to store non-confidential data in key-value pairs. Pods can consume ConfigMaps as environment variables, command-line arguments, or as configuration files in a volume."
- kubernetes.io/docs/reference/glossary/
| To | Command | Example |
|---|---|---|
| List ConfigMaps: | kubectl get configmaps |
kubectl get configmaps |
| Describe ConfigMap: | kubectl describe configmaps <configmapname> |
kubectl describe configmaps myconfigmap |
| Describe ConfigMap in yaml: | kubectl describe configmaps <configmapname> -o yaml |
kubectl describe configmaps myconfigmap -o yaml |
| Create ConfigMap from file: | kubectl create configmap <configmapname> –from-file=<file> |
kubectl create configmap myconfigmap --from-file=path/file.name |
| Create ConfigMap from directory: | kubectl create configmap <configmapname> –from-file=<directory> |
kubectl create configmap myconfigmap --from-file=mydirectorypath |
| Create ConfigMap from literals: | kubectl create configmap <configmapname> –from-literal=<key>=<value> –from-literal=<key>=<value> |
kubectl create configmap myconfigmap --from-literal=admin=root --from-literal=stage.user=frank.grimes |