kubectl get- Display one or many resources
Prints a table of the most important information about the specified resources. You can filter the
list using…
- A label selector and
- The –selector flag
- If the desired resource type is namespaced you will only see results in your current namespace unless you pass –all-namespaces.
- Uninitialized objects are not shown unless –include-uninitialized is passed.
- By specifying the output as ‘template’ and providing a Go template as the value of the –template
flag, you can filter the attributes of the fetched resources. - Use “kubectl api-resources” for a complete list of supported resources.
# 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 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 | |
kubectl get pod my-pod -o yaml --export # Get a pod's YAML without cluster specific information | |
kubectl get replicationcontroller web # List a single replication controller with specified NAME | |
# List deployments in JSON output format, in the "v1" version of the "apps" API group: | |
$ kubectl get deployments.v1.apps -o json | |
# List a single pod in JSON output format. | |
$ kubectl get -o json pod web-pod-13je7 | |
# List a pod identified by type and name specified in "pod.yaml" in JSON output format. | |
$ kubectl get -f pod.yaml -o json | |
# List resources from a directory with kustomization.yaml - e.g. dir/kustomization.yaml. | |
$ kubectl get -k dir/ | |
# Return only the phase value of the specified pod. | |
$ kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}} | |
# List resource information in custom columns. | |
$ kubectl get pod test-pod -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image | |
# List all replication controllers and services together in ps output format. | |
$ kubectl get rc,services | |
# List one or more resources by their type and names. | |
$ kubectl get rc/web service/frontend pods/web-pod-13je7 | |
--field-selector | |
Field selectors let you select Kubernetes resources based on the value of one or more resource fields. Here are some example field selector queries: | |
# Get all running pods in the namespace | |
$ kubectl get pods --field-selector=status.phase=Running | |
# You can use the =, ==, and != operators with field selectors | |
$ kubectl get services --all-namespaces --field-selector metadata.namespace!=default | |
$ kubectl get pods --field-selector=status.phase!=Running,spec.restartPolicy=Always | |
$ kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default | |
$ kubectl delete jobs.batch --field-selector status.successful==1 | |
--sort-by | |
$ kubectl get po --sort-by=.status.startTime | |
# 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 in test namespace sorted by capacity | |
$ kubectl get pv -n test --sort-by=.spec.capacity.storage | |
# List Events sorted by timestamp | |
$ kubectl get events --sort-by=.metadata.creationTimestamp | |
--show-labels | |
# Show labels for all pods (or any other Kubernetes object that supports labelling) | |
$ kubectl get pods --show-labels | |
Options: | |
-A, --all-namespaces=false: If present, list the requested object(s) across all namespaces. | |
Namespace in current context is ignored even if specified with --namespace. | |
--allow-missing-template-keys=true: If true, ignore any errors in templates when a field or | |
map key is missing in the template. Only applies to golang and jsonpath output formats. | |
--chunk-size=500: Return large lists in chunks rather than all at once. Pass 0 to disable. | |
This flag is beta and may change in the future. | |
--field-selector='': Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. | |
--field-selector key1=value1,key2=value2). The server only supports a limited number of field | |
queries per type. | |
-f, --filename=[]: Filename, directory, or URL to files identifying the resource to get from a | |
server. | |
--ignore-not-found=false: If the requested object does not exist the command will return exit | |
code 0. | |
-k, --kustomize='': Process the kustomization directory. This flag can't be used together with -f | |
or -R. | |
-L, --label-columns=[]: Accepts a comma separated list of labels that are going to be presented as | |
columns. Names are case-sensitive. You can also use multiple flag options like -L label1 -L | |
label2... | |
--no-headers=false: When using the default or custom-column output format, don't print headers | |
(default print headers). | |
-o, --output='': Output format. One of: | |
json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... | |
See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang | |
template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template | |
[http://kubernetes.io/docs/user-guide/jsonpath]. | |
--output-watch-events=false: Output watch event objects when --watch or --watch-only is used. | |
Existing objects are output as initial ADDED events. | |
--raw='': Raw URI to request from the server. Uses the transport specified by the kubeconfig | |
file. | |
-R, --recursive=false: Process the directory used in -f, --filename recursively. Useful when you | |
want to manage related manifests organized within the same directory. | |
-l, --selector='': Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l | |
key1=value1,key2=value2) | |
--server-print=true: If true, have the server return the appropriate table output. Supports | |
extension APIs and CRDs. | |
--show-kind=false: If present, list the resource type for the requested object(s). | |
--show-labels=false: When printing, show all labels as the last column (default hide labels | |
column) | |
--sort-by='': If non-empty, sort list types using this field specification. The field | |
specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API | |
resource specified by this JSONPath expression must be an integer or a string. | |
--template='': Template string or path to template file to use when -o=go-template, | |
-o=go-template-file. The template format is golang templates | |
[http://golang.org/pkg/text/template/#pkg-overview]. | |
-w, --watch=false: After listing/getting the requested object, watch for changes. Uninitialized | |
objects are excluded if no object name is provided. | |
--watch-only=false: Watch for changes to the requested object(s), without listing/getting | |
first. |












I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND