Bird
Raised Fist0
Kubernetesdevops~5 mins

Executing commands in Pods in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What command is used to execute a command inside a running Kubernetes Pod?
The command kubectl exec is used to run commands inside a running Pod.
Click to reveal answer
beginner
How do you start an interactive shell session inside a Pod named my-pod?
Use kubectl exec -it my-pod -- /bin/sh or kubectl exec -it my-pod -- /bin/bash to start an interactive shell.
Click to reveal answer
beginner
What does the -it flag mean in kubectl exec?
-i means interactive (keeps stdin open), and -t allocates a terminal. Together they allow interactive shell sessions.
Click to reveal answer
intermediate
Can you execute commands in a specific container inside a Pod with multiple containers? How?
Yes, use kubectl exec -it pod-name -c container-name -- command to target a specific container.
Click to reveal answer
beginner
What happens if you run kubectl exec on a Pod that is not running?
The command will fail because the Pod must be in a running state to execute commands inside it.
Click to reveal answer
Which command runs an interactive bash shell inside a Pod named 'web-server'?
Akubectl exec -it web-server -- /bin/bash
Bkubectl run web-server -- /bin/bash
Ckubectl start web-server -bash
Dkubectl shell web-server
What does the -- signify in the command kubectl exec pod-name -- ls?
AEnds the command execution
BSeparates kubectl flags from the command to run inside the Pod
CSpecifies the Pod namespace
DIndicates the Pod name
How do you specify a container inside a Pod when executing a command?
A--container container-name
B-p container-name
C-c container-name
D-n container-name
If you want to run a non-interactive command like ls / inside a Pod, which flag is NOT necessary?
A-c
B-i
C--
D-t
What will happen if you try to exec into a Pod that is in 'Pending' state?
AThe command will fail because the Pod is not running
BYou will get a shell prompt
CThe Pod will start automatically
Dkubectl will restart the Pod
Explain how to run an interactive shell inside a Kubernetes Pod and why the flags used are important.
Think about how you connect to a remote computer's terminal.
You got /4 concepts.
    Describe how to execute a command inside a specific container when a Pod has multiple containers.
    Imagine a Pod like a small apartment with multiple rooms (containers).
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the kubectl exec command in Kubernetes?
      easy
      A. To list all Pods in a namespace
      B. To create a new Pod
      C. To run commands inside a running Pod
      D. To delete a Pod

      Solution

      1. Step 1: Understand the function of kubectl exec

        The kubectl exec command is used to execute commands inside a running Pod's container.
      2. Step 2: Differentiate from other commands

        Creating, deleting, or listing Pods are done with other commands like kubectl create, kubectl delete, and kubectl get.
      3. Final Answer:

        To run commands inside a running Pod -> Option C
      4. Quick Check:

        kubectl exec runs commands inside Pods [OK]
      Hint: Remember: exec means execute inside Pod [OK]
      Common Mistakes:
      • Confusing exec with create or delete commands
      • Thinking exec lists Pods
      • Using exec to start new Pods
      2. Which of the following is the correct syntax to run the command ls /app inside a Pod named web-pod?
      easy
      A. kubectl exec web-pod ls /app
      B. kubectl exec web-pod -- ls /app
      C. kubectl exec -- web-pod ls /app
      D. kubectl exec -c web-pod ls /app

      Solution

      1. Step 1: Identify correct command separator

        The -- separates the Pod name from the command to run inside the Pod.
      2. Step 2: Apply syntax rules

        The correct syntax is kubectl exec [pod-name] -- [command], so kubectl exec web-pod -- ls /app is correct.
      3. Final Answer:

        kubectl exec web-pod -- ls /app -> Option B
      4. Quick Check:

        Use -- before command [OK]
      Hint: Use double dash (--) before command [OK]
      Common Mistakes:
      • Omitting the -- separator
      • Placing -- before Pod name
      • Using -c without container name
      3. Given a Pod named db-pod with two containers: mysql and backup, what is the output of this command?
      kubectl exec db-pod -c backup -- echo Hello
      medium
      A. Pod not found
      B. Error: container name required
      C. No such container: backup
      D. Hello

      Solution

      1. Step 1: Understand the command components

        The command runs echo Hello inside the backup container of the db-pod Pod.
      2. Step 2: Predict the command output

        Since the container exists and the command is valid, it outputs Hello.
      3. Final Answer:

        Hello -> Option D
      4. Quick Check:

        Correct container specified with -c outputs command result [OK]
      Hint: Use -c to specify container, output is command result [OK]
      Common Mistakes:
      • Not specifying container when multiple exist
      • Using wrong container name
      • Expecting Pod name as container
      4. You run this command but get an error:
      kubectl exec mypod ls /data

      What is the most likely cause?
      medium
      A. Missing -- before the command
      B. Pod mypod does not exist
      C. The ls command is invalid
      D. You need to specify the container with -c

      Solution

      1. Step 1: Check command syntax

        The command is missing the -- separator between Pod name and command.
      2. Step 2: Understand effect of missing --

        Without --, kubectl treats ls as a Pod or option, causing an error.
      3. Final Answer:

        Missing -- before the command -> Option A
      4. Quick Check:

        Always use -- before command [OK]
      Hint: Always put -- before command to avoid errors [OK]
      Common Mistakes:
      • Forgetting the -- separator
      • Assuming container must be specified when only one exists
      • Thinking command is invalid
      5. You want to run cat /etc/config inside the app-container of Pod multi-pod which has three containers. Which command is correct?
      hard
      A. kubectl exec multi-pod -c app-container -- cat /etc/config
      B. kubectl exec multi-pod cat /etc/config -c app-container
      C. kubectl exec -c app-container multi-pod cat /etc/config
      D. kubectl exec multi-pod -- -c app-container cat /etc/config

      Solution

      1. Step 1: Identify correct order of options

        The -c option specifying the container must come after the Pod name and before the -- separator.
      2. Step 2: Confirm command separator usage

        The -- must separate the Pod/container specification from the command to run.
      3. Step 3: Validate each option

        kubectl exec multi-pod -c app-container -- cat /etc/config correctly places -c app-container before -- and then the command cat /etc/config.
      4. Final Answer:

        kubectl exec multi-pod -c app-container -- cat /etc/config -> Option A
      5. Quick Check:

        -c before --, then command [OK]
      Hint: Put -c before --, then command [OK]
      Common Mistakes:
      • Placing -c after the command
      • Putting -- before -c
      • Omitting -- separator
      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