Bird
Raised Fist0
Kubernetesdevops~5 mins

Pod definition in YAML in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Pod in Kubernetes?
A Pod is the smallest deployable unit in Kubernetes. It represents one or more containers that share storage, network, and a specification for how to run the containers.
Click to reveal answer
beginner
What is the purpose of the metadata section in a Pod YAML definition?
The metadata section provides information like the Pod's name and labels, which help identify and organize the Pod within the Kubernetes cluster.
Click to reveal answer
beginner
In a Pod YAML, what does the spec section define?
The spec section defines the desired state of the Pod, including the containers to run, their images, ports, and other settings.
Click to reveal answer
beginner
What is the role of the containers field inside the Pod spec?
The containers field lists all containers that run inside the Pod, specifying their names, images, ports, and other configurations.
Click to reveal answer
intermediate
Why do containers in the same Pod share the same network namespace?
Containers in the same Pod share the same network namespace so they can communicate easily using localhost and share the same IP address.
Click to reveal answer
Which section in a Pod YAML defines the container images to run?
Aspec.containers
Bmetadata.labels
Cstatus.phase
Dspec.volumes
What is the smallest deployable unit in Kubernetes?
AService
BNode
CPod
DDeployment
In a Pod YAML, where do you specify the Pod's name?
Aspec.name
Bmetadata.name
Cstatus.name
Dcontainers.name
Why do containers in the same Pod share the same IP address?
ATo save IP addresses
BTo avoid network conflicts
CBecause they run on the same node
DBecause they share the same network namespace
Which of these is NOT part of a basic Pod YAML definition?
Adatabase
BapiVersion
Cspec
Dmetadata
Describe the main sections of a Pod YAML definition and their purposes.
Think about what information Kubernetes needs to create and identify the Pod.
You got /6 concepts.
    Explain why containers inside the same Pod can communicate easily with each other.
    Consider how network sharing helps containers inside a Pod.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the purpose of the spec section in a Kubernetes Pod YAML definition?
      easy
      A. It declares the Kubernetes API version used
      B. It defines the containers and their settings inside the Pod
      C. It specifies the Pod's name and labels
      D. It sets the namespace for the Pod

      Solution

      1. Step 1: Understand the YAML structure

        The spec section in a Pod YAML defines the desired state, including containers and their configurations.
      2. Step 2: Identify the role of other sections

        metadata holds name and labels, apiVersion declares the API version, and namespace is set elsewhere.
      3. Final Answer:

        It defines the containers and their settings inside the Pod -> Option B
      4. Quick Check:

        Pod spec = container details [OK]
      Hint: Remember: spec section = container setup inside Pod [OK]
      Common Mistakes:
      • Confusing metadata with spec
      • Thinking apiVersion defines containers
      • Mixing namespace with spec
      2. Which of the following is the correct way to specify a container image in a Pod YAML?
      easy
      A. containers: - name: myapp image: myimage:latest
      B. containers: - imageName: myimage:latest containerName: myapp
      C. container: name: myapp image: myimage:latest
      D. containers: - myapp: image: myimage:latest

      Solution

      1. Step 1: Check correct YAML keys for containers

        The correct keys are containers (list), each with name and image.
      2. Step 2: Validate each option's syntax

        containers: - name: myapp image: myimage:latest uses correct keys and indentation. Others use wrong keys or structure.
      3. Final Answer:

        containers: - name: myapp image: myimage:latest -> Option A
      4. Quick Check:

        Container image key = image [OK]
      Hint: Use 'name' and 'image' keys inside 'containers' list [OK]
      Common Mistakes:
      • Using wrong keys like imageName or containerName
      • Incorrect indentation or singular 'container'
      • Nesting keys incorrectly under container name
      3. Given this Pod YAML snippet, what will be the container's name and image?
      spec:
        containers:
        - name: frontend
          image: nginx:1.21
      medium
      A. Container name is 'nginx' and image is 'frontend:1.21'
      B. Container name is 'frontend' and image is 'nginx:latest'
      C. Container name is 'frontend' and image is 'nginx:1.21'
      D. Container name and image are not defined

      Solution

      1. Step 1: Read the container name

        The YAML shows name: frontend, so container name is 'frontend'.
      2. Step 2: Read the container image

        The image is nginx:1.21, exactly as specified.
      3. Final Answer:

        Container name is 'frontend' and image is 'nginx:1.21' -> Option C
      4. Quick Check:

        Name and image match YAML exactly [OK]
      Hint: Match keys 'name' and 'image' exactly as YAML shows [OK]
      Common Mistakes:
      • Swapping name and image values
      • Assuming default image tag 'latest'
      • Ignoring YAML indentation and keys
      4. Identify the error in this Pod YAML snippet:
      apiVersion: v1
      kind: Pod
      metadata:
        name: test-pod
      spec:
        containers:
        - name: app
          image: nginx
        - name: app
          image: redis
      medium
      A. Duplicate container names are not allowed in a Pod
      B. Missing apiVersion field
      C. Incorrect indentation under containers
      D. Pod kind should be Deployment

      Solution

      1. Step 1: Check container names uniqueness

        Both containers have the name 'app', which is not allowed because container names must be unique within a Pod.
      2. Step 2: Verify other fields

        apiVersion and kind are present and indentation is correct. Pod kind is valid.
      3. Final Answer:

        Duplicate container names are not allowed in a Pod -> Option A
      4. Quick Check:

        Unique container names required [OK]
      Hint: Check container names are unique inside Pod spec [OK]
      Common Mistakes:
      • Ignoring duplicate container names
      • Confusing Pod with Deployment kind
      • Misreading indentation as error
      5. You want to create a Pod with two containers: one running nginx and another running redis. Which YAML snippet correctly defines this Pod?
      hard
      A. apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: containers: - nginx - redis
      B. apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: container: - name: nginx image: nginx - name: redis image: redis
      C. apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: containers: name: nginx image: nginx name: redis image: redis
      D. apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: containers: - name: nginx-container image: nginx - name: redis-container image: redis

      Solution

      1. Step 1: Verify correct key for multiple containers

        The key must be containers (plural) with a list of container objects.
      2. Step 2: Check each container has unique name and image

        apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: containers: - name: nginx-container image: nginx - name: redis-container image: redis correctly lists two containers with unique names and images. Other options have syntax errors or wrong keys.
      3. Final Answer:

        apiVersion: v1 kind: Pod metadata: name: multi-container-pod spec: containers: - name: nginx-container image: nginx - name: redis-container image: redis -> Option D
      4. Quick Check:

        Use 'containers' list with unique names [OK]
      Hint: Use 'containers' plural with list of named containers [OK]
      Common Mistakes:
      • Using singular 'container' instead of 'containers'
      • Not giving unique names to containers
      • Incorrect YAML list syntax
      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