Bird
Raised Fist0
Kubernetesdevops~5 mins

kubectl get for listing resources in Kubernetes - Commands & Configuration

Choose your learning style10 modes available
Introduction
When you want to see what is running or available in your Kubernetes cluster, you use the kubectl get command. It lists resources like pods, services, or deployments so you can check their status and details.
When you want to check if your application pods are running correctly.
When you need to see all services available in your cluster to understand network access.
When you want to verify the status of deployments after applying changes.
When you want to list all namespaces to see how your cluster is organized.
When you want to quickly get details about any Kubernetes resource by name or type.
Commands
This command lists all pods in the current namespace, showing their names, readiness, status, restarts, and age. It helps you see if your pods are running or have issues.
Terminal
kubectl get pods
Expected OutputExpected
NAME READY STATUS RESTARTS AGE my-app-pod-1 1/1 Running 0 10m my-app-pod-2 1/1 Running 0 10m
This command lists all services in the current namespace, showing their names, types, cluster IPs, external IPs, ports, and age. It helps you understand how your apps are exposed.
Terminal
kubectl get services
Expected OutputExpected
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-app-svc ClusterIP 10.96.0.1 <none> 80/TCP 15m
This command lists all deployments in the current namespace, showing their names, ready replicas, total replicas, updated replicas, and age. It helps you check if your deployments are healthy.
Terminal
kubectl get deployments
Expected OutputExpected
NAME READY UP-TO-DATE AVAILABLE AGE my-app 2/2 2 2 20m
This command lists all pods in the kube-system namespace, which is where Kubernetes system components run. It helps you check the health of core cluster services.
Terminal
kubectl get pods -n kube-system
Expected OutputExpected
NAME READY STATUS RESTARTS AGE coredns-558bd4d5db-7k9qv 1/1 Running 0 1h etcd-minikube 1/1 Running 0 1h
→
-n - Specify the namespace to list resources from
Key Concept

If you remember nothing else from this pattern, remember: kubectl get shows you the current state of Kubernetes resources so you can monitor and troubleshoot your cluster.

Common Mistakes
Running kubectl get without specifying the resource type
kubectl get requires a resource type like pods or services to know what to list; otherwise, it shows an error.
Always specify the resource type, for example, kubectl get pods or kubectl get services.
Not specifying the namespace when resources are in a different namespace
kubectl get defaults to the current namespace, so it won't show resources in other namespaces unless specified.
Use the -n flag to specify the namespace, for example, kubectl get pods -n kube-system.
Summary
kubectl get lists Kubernetes resources like pods, services, and deployments.
Use kubectl get with the resource type to see their current status and details.
Add the -n flag to specify a namespace if your resources are not in the default namespace.

Practice

(1/5)
1. What does the command kubectl get pods do in Kubernetes?
easy
A. Lists all pods in the current namespace
B. Deletes all pods in the cluster
C. Creates a new pod
D. Shows logs of a pod

Solution

  1. Step 1: Understand the command structure

    kubectl get is used to list resources, and pods specifies the resource type.
  2. Step 2: Interpret the command effect

    The command lists all pods in the current namespace without modifying or deleting anything.
  3. Final Answer:

    Lists all pods in the current namespace -> Option A
  4. Quick Check:

    kubectl get pods lists pods [OK]
Hint: Remember: 'get' means list resources, not delete or create [OK]
Common Mistakes:
  • Confusing 'get' with 'delete' or 'create'
  • Thinking it shows logs instead of listing
  • Assuming it lists resources cluster-wide by default
2. Which of the following is the correct syntax to list all services in all namespaces using kubectl?
easy
A. kubectl get services -a
B. kubectl get services --all-namespaces
C. kubectl list services --all
D. kubectl show services --all-namespaces

Solution

  1. Step 1: Identify the correct command to list services

    kubectl get services is the correct base command to list services.
  2. Step 2: Use the correct flag for all namespaces

    The flag --all-namespaces lists resources across all namespaces; -a is not valid here.
  3. Final Answer:

    kubectl get services --all-namespaces -> Option B
  4. Quick Check:

    Use --all-namespaces to list across namespaces [OK]
Hint: Use full flag --all-namespaces, not short or wrong ones [OK]
Common Mistakes:
  • Using incorrect short flag '-a' which is invalid
  • Using 'list' or 'show' instead of 'get'
  • Forgetting to specify namespaces flag for cluster-wide listing
3. What will be the output of the command kubectl get pods mypod -o wide if mypod exists in the current namespace?
medium
A. An error saying pod not found
B. Only the pod name will be shown
C. Logs of the pod will be displayed
D. Detailed information about the pod including node and IP

Solution

  1. Step 1: Understand the command and flags

    kubectl get pods mypod fetches the pod named 'mypod'. The -o wide flag adds extra details like node name and IP.
  2. Step 2: Predict the output

    The output will show the pod's name, status, node, IP, and other extended info, not just the name or logs.
  3. Final Answer:

    Detailed information about the pod including node and IP -> Option D
  4. Quick Check:

    -o wide shows extra pod details [OK]
Hint: Use -o wide to get more pod details in output [OK]
Common Mistakes:
  • Expecting only pod name without details
  • Confusing output with logs
  • Assuming error if pod exists
4. You run kubectl get pod mypod but get the error: error: the server doesn't have a resource type "pod". What is the likely cause?
medium
A. You typed 'pod' instead of 'pods' for resource type
B. The pod 'mypod' does not exist
C. You need to add --all-namespaces flag
D. kubectl is not installed

Solution

  1. Step 1: Analyze the error message

    The error says the server doesn't recognize resource type 'pod'. Kubernetes resource types are plural, e.g., 'pods'.
  2. Step 2: Identify the syntax mistake

    The command should use pods not pod. This causes the server to reject the request.
  3. Final Answer:

    You typed 'pod' instead of 'pods' for resource type -> Option A
  4. Quick Check:

    Resource types are plural like 'pods' [OK]
Hint: Always use plural resource names like 'pods', 'services' [OK]
Common Mistakes:
  • Using singular resource names
  • Assuming pod doesn't exist causes this error
  • Thinking missing flag causes resource type error
5. You want to list all deployments in the namespace 'production' with their labels shown. Which command achieves this?
hard
A. kubectl list deployments -namespace production -labels
B. kubectl get deployment production --labels
C. kubectl get deployments -n production --show-labels
D. kubectl get deployments --namespace=production -o labels

Solution

  1. Step 1: Specify the resource and namespace correctly

    kubectl get deployments lists deployments; -n production sets the namespace.
  2. Step 2: Use the correct flag to show labels

    The flag --show-labels adds labels column to the output. Other options use incorrect flags or syntax.
  3. Final Answer:

    kubectl get deployments -n production --show-labels -> Option C
  4. Quick Check:

    Use -n for namespace and --show-labels to display labels [OK]
Hint: Use -n for namespace and --show-labels to see labels [OK]
Common Mistakes:
  • Using singular 'deployment' instead of 'deployments'
  • Wrong flags like '--labels' or '-labels'
  • Using 'list' instead of 'get'
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard