Bird
Raised Fist0
Azurecloud~5 mins

Kubectl for cluster management in Azure - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is kubectl used for in Kubernetes?

kubectl is a command-line tool that lets you communicate with and manage Kubernetes clusters. It helps you deploy applications, inspect and manage cluster resources, and view logs.

Click to reveal answer
beginner
How do you configure kubectl to connect to an Azure Kubernetes Service (AKS) cluster?

You use the Azure CLI command az aks get-credentials --resource-group <group> --name <cluster-name> to download and merge the cluster's access credentials into your local kubeconfig file. Then kubectl uses this config to connect.

Click to reveal answer
beginner
What does the command kubectl get pods do?

This command lists all the pods running in the current namespace of your Kubernetes cluster. Pods are the smallest deployable units that hold your containers.

Click to reveal answer
intermediate
Explain the purpose of kubectl apply -f <file>.

This command applies the configuration in the specified file to the cluster. It creates or updates resources like deployments or services based on the file's content.

Click to reveal answer
beginner
How can you check the logs of a pod using kubectl?

Use kubectl logs <pod-name> to see the logs of a specific pod. This helps you understand what is happening inside the containers.

Click to reveal answer
Which command downloads AKS cluster credentials for kubectl?
Aaz login
Bkubectl config use-context
Caz aks get-credentials
Dkubectl create cluster
What does kubectl get nodes show?
AList of cluster nodes
BList of pods
CList of services
DList of deployments
How do you update a deployment using kubectl?
Akubectl apply -f deployment.yaml
Bkubectl delete deployment
Ckubectl get deployment
Dkubectl logs deployment
Which kubectl command shows detailed info about a pod?
Akubectl exec &lt;pod-name&gt;
Bkubectl get pods
Ckubectl logs &lt;pod-name&gt;
Dkubectl describe pod &lt;pod-name&gt;
What is the default namespace kubectl commands operate in if none is specified?
Aadmin
Bdefault
Cproduction
Dkube-system
Describe the steps to connect kubectl to an Azure Kubernetes Service cluster.
Think about how kubectl knows which cluster to talk to.
You got /4 concepts.
    Explain how kubectl helps you manage pods in a Kubernetes cluster.
    Focus on commands related to pods.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the kubectl tool in Kubernetes?
      easy
      A. To manage and control Kubernetes clusters
      B. To create virtual machines in Azure
      C. To monitor network traffic outside the cluster
      D. To write application code for Kubernetes

      Solution

      1. Step 1: Understand kubectl's role

        kubectl is designed to interact with Kubernetes clusters to manage resources like pods, deployments, and services.
      2. Step 2: Compare options

        Options A, B, and C describe tasks unrelated to kubectl. Only To manage and control Kubernetes clusters correctly states its purpose.
      3. Final Answer:

        To manage and control Kubernetes clusters -> Option A
      4. Quick Check:

        kubectl = cluster management [OK]
      Hint: kubectl controls Kubernetes clusters directly [OK]
      Common Mistakes:
      • Confusing kubectl with Azure VM tools
      • Thinking kubectl writes application code
      • Assuming kubectl monitors external network traffic
      2. Which of the following is the correct syntax to list all pods in the current Kubernetes namespace using kubectl?
      easy
      A. kubectl get pods
      B. kubectl list pods
      C. kubectl show pods
      D. kubectl describe pods

      Solution

      1. Step 1: Recall kubectl commands for listing resources

        The command to list resources is kubectl get, followed by the resource type.
      2. Step 2: Evaluate options

        Only kubectl get pods uses the correct syntax kubectl get pods. Options A and B are invalid commands, and D shows detailed info, not a simple list.
      3. Final Answer:

        kubectl get pods -> Option A
      4. Quick Check:

        List pods = kubectl get pods [OK]
      Hint: Use 'kubectl get' to list Kubernetes resources [OK]
      Common Mistakes:
      • Using 'list' or 'show' instead of 'get'
      • Confusing 'describe' with listing
      • Adding extra words after 'pods'
      3. Given the command kubectl get pods -o wide, what extra information will you see compared to kubectl get pods?
      medium
      A. Detailed pod logs
      B. Extended pod information including node and IP
      C. Only pod names without status
      D. List of services instead of pods

      Solution

      1. Step 1: Understand the '-o wide' option

        The -o wide flag shows additional columns like node name and pod IP address.
      2. Step 2: Compare output differences

        Extended pod information including node and IP correctly describes the extra info. Detailed pod logs is about logs, not shown here. Only pod names without status is incorrect as status is shown by default. List of services instead of pods is unrelated.
      3. Final Answer:

        Extended pod information including node and IP -> Option B
      4. Quick Check:

        -o wide = more pod details [OK]
      Hint: Use '-o wide' to see node and IP info for pods [OK]
      Common Mistakes:
      • Thinking '-o wide' shows logs
      • Assuming it hides status info
      • Confusing pods with services
      4. You run kubectl get pod mypod but get an error saying the pod does not exist. What is the most likely cause?
      medium
      A. You are in the wrong namespace
      B. The pod name is misspelled
      C. The pod has already been deleted
      D. All of the above

      Solution

      1. Step 1: Check common reasons for pod not found error

        The error can happen if the pod name is wrong, the pod was deleted, or you are looking in the wrong namespace.
      2. Step 2: Evaluate options

        All options B, C, and D are valid causes. Therefore, All of the above which includes all is correct.
      3. Final Answer:

        All of the above -> Option D
      4. Quick Check:

        Pod not found = wrong namespace, name, or deleted [OK]
      Hint: Check namespace, spelling, and pod existence [OK]
      Common Mistakes:
      • Ignoring namespace context
      • Assuming pod always exists
      • Not verifying pod name spelling
      5. You want to update the image of a deployment named webapp to version v2 using kubectl. Which command correctly performs this update?
      hard
      A. kubectl update deployment webapp --image=webapp:v2
      B. kubectl edit deployment webapp image=webapp:v2
      C. kubectl set image deployment/webapp webapp=webapp:v2
      D. kubectl change image webapp webapp:v2

      Solution

      1. Step 1: Identify the correct kubectl command to update deployment image

        The command kubectl set image is used to update container images in deployments.
      2. Step 2: Analyze each option

        kubectl set image deployment/webapp webapp=webapp:v2 uses correct syntax: kubectl set image deployment/webapp webapp=webapp:v2. Options A, C, and D use invalid or incorrect commands.
      3. Final Answer:

        kubectl set image deployment/webapp webapp=webapp:v2 -> Option C
      4. Quick Check:

        Update image = kubectl set image [OK]
      Hint: Use 'kubectl set image' to update deployment containers [OK]
      Common Mistakes:
      • Using 'kubectl update' which is invalid
      • Trying 'kubectl edit' without proper syntax
      • Using non-existent 'kubectl change' command