Bird
Raised Fist0
Kubernetesdevops~5 mins

Using Secrets as mounted volumes in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Kubernetes Secret?
A Kubernetes Secret is a way to store and manage sensitive information like passwords, tokens, or keys securely within a cluster.
Click to reveal answer
beginner
How do you use a Secret as a mounted volume in a pod?
You define a volume in the pod spec that uses the Secret, then mount that volume into a container's file system at a specific path.
Click to reveal answer
intermediate
What is the benefit of mounting Secrets as volumes instead of environment variables?
Mounting Secrets as volumes allows the container to read secret data as files, which can be more secure and flexible, especially for certificates or keys.
Click to reveal answer
intermediate
What happens if the Secret data changes after the pod is running?
The mounted Secret volume is updated automatically, so the container can see the new secret data without restarting the pod.
Click to reveal answer
beginner
Show a simple YAML snippet to mount a Secret named 'my-secret' as a volume at '/etc/secret'.
volumes: - name: secret-volume secret: secretName: my-secret containers: - name: my-container volumeMounts: - name: secret-volume mountPath: /etc/secret
Click to reveal answer
What Kubernetes object stores sensitive data like passwords?
AService
BSecret
CPod
DConfigMap
How do you make a Secret available inside a container as files?
AMount the Secret as a volume
BSet environment variables
CUse a ConfigMap
DAdd it to the container image
If a Secret changes, how does the mounted volume behave?
AIt updates automatically
BIt stays the same until pod restart
CIt deletes the pod
DIt crashes the container
Which path is commonly used to mount Secrets as volumes?
A/var/log
B/usr/bin
C/etc/secret
D/home/user
What is the key difference between Secrets and ConfigMaps?
AConfigMaps are encrypted by default
BConfigMaps store sensitive data, Secrets do not
CSecrets are only for environment variables
DSecrets store sensitive data, ConfigMaps do not
Explain how to mount a Kubernetes Secret as a volume inside a pod and why you might do this.
Think about how files inside a container can hold secret data securely.
You got /4 concepts.
    Describe what happens when the data in a Kubernetes Secret changes while a pod is running with that Secret mounted as a volume.
    Consider how Kubernetes keeps the secret data fresh inside the container.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main benefit of mounting Kubernetes Secrets as volumes inside a pod instead of using environment variables?
      easy
      A. Environment variables are more secure than mounted volumes.
      B. Mounted volumes require manual pod restart to update secrets.
      C. Secrets mounted as volumes can be updated automatically without restarting the pod.
      D. Secrets cannot be mounted as volumes in Kubernetes.

      Solution

      1. Step 1: Understand how secrets are exposed

        Secrets can be exposed as environment variables or mounted as files in volumes inside pods.
      2. Step 2: Compare update behavior

        Mounted secrets update automatically when changed in Kubernetes, environment variables do not update without pod restart.
      3. Final Answer:

        Secrets mounted as volumes can be updated automatically without restarting the pod. -> Option C
      4. Quick Check:

        Mounted secrets auto-update = B [OK]
      Hint: Mounted secrets auto-update; env vars need pod restart [OK]
      Common Mistakes:
      • Thinking environment variables update automatically
      • Believing secrets cannot be mounted as volumes
      • Assuming mounted volumes require pod restart
      2. Which of the following is the correct YAML snippet to mount a secret named mysecret as a volume at path /etc/secret-volume inside a pod?
      easy
      A. volumes:\n - name: secret-volume\n secret:\n secretName: mysecret\ncontainers:\n - name: app\n volumeMounts:\n - name: secret-volume\n path: /etc/secret-volume
      B. volumes:\n - name: secret-volume\n configMap:\n name: mysecret\ncontainers:\n - name: app\n volumeMounts:\n - name: secret-volume\n mountPath: /etc/secret-volume
      C. volumes:\n - name: secret-volume\n secret:\n name: mysecret\ncontainers:\n - name: app\n volumeMounts:\n - name: secret-volume\n mountPath: /etc/secret-volume
      D. volumes:\n - name: secret-volume\n secret:\n secretName: mysecret\ncontainers:\n - name: app\n volumeMounts:\n - name: secret-volume\n mountPath: /etc/secret-volume

      Solution

      1. Step 1: Check volume secret syntax

        The correct key to specify the secret is secretName, not name.
      2. Step 2: Verify volumeMount path key

        The correct key to specify mount path is mountPath, not path.
      3. Final Answer:

        Uses correct keys: secretName and mountPath. -> Option D
      4. Quick Check:

        secretName + mountPath = A [OK]
      Hint: Use secretName for secret, mountPath for volume mount [OK]
      Common Mistakes:
      • Using configMap instead of secret
      • Using 'name' instead of 'secretName'
      • Using 'path' instead of 'mountPath'
      3. Given this pod spec snippet mounting a secret as a volume:
      volumes:
        - name: secret-vol
          secret:
            secretName: mysecret
      containers:
        - name: app
          volumeMounts:
            - name: secret-vol
              mountPath: /etc/secret
      
      If the secret mysecret contains a key password with value abc123, what will be the content of the file /etc/secret/password inside the container?
      medium
      A. password
      B. abc123
      C. mysecret
      D. The file will not exist

      Solution

      1. Step 1: Understand secret volume mounting

        Each key in the secret becomes a file inside the mounted path with the key as filename and value as file content.
      2. Step 2: Identify file content for key 'password'

        The file /etc/secret/password will contain the secret value abc123.
      3. Final Answer:

        abc123 -> Option B
      4. Quick Check:

        Secret key value = file content [OK]
      Hint: Secret keys become filenames; values become file contents [OK]
      Common Mistakes:
      • Confusing filename with secret name
      • Expecting filename to contain key name instead of value
      • Thinking file won't be created
      4. You mounted a secret as a volume in your pod, but inside the container the secret files are empty. What is the most likely cause?
      medium
      A. The secret was created but has no data keys.
      B. The pod spec used configMap instead of secret in volumes.
      C. The volumeMount path is incorrect.
      D. Secrets cannot be mounted as volumes.

      Solution

      1. Step 1: Check secret data content

        If the secret exists but has no keys or empty values, mounted files will be empty.
      2. Step 2: Verify volume type and mount path

        Using secret in volumes and correct mountPath is required; wrong type or path causes missing files, not empty files.
      3. Final Answer:

        The secret was created but has no data keys. -> Option A
      4. Quick Check:

        Empty secret data = empty files [OK]
      Hint: Empty secret data means empty files inside container [OK]
      Common Mistakes:
      • Confusing empty files with wrong mount path
      • Assuming secrets can't be mounted
      • Mixing configMap with secret volumes
      5. You want to mount a secret as a volume in a pod, but only expose the key db-password as a file named password.txt inside the container at /etc/db. Which volume configuration achieves this?
      hard
      A. volumes: - name: db-secret secret: secretName: mysecret items: - key: db-password path: password.txt containers: - name: app volumeMounts: - name: db-secret mountPath: /etc/db
      B. volumes: - name: db-secret secret: secretName: mysecret items: - key: password.txt path: db-password containers: - name: app volumeMounts: - name: db-secret mountPath: /etc/db
      C. volumes: - name: db-secret secret: secretName: mysecret containers: - name: app volumeMounts: - name: db-secret mountPath: /etc/db/password.txt
      D. volumes: - name: db-secret configMap: name: mysecret items: - key: db-password path: password.txt containers: - name: app volumeMounts: - name: db-secret mountPath: /etc/db

      Solution

      1. Step 1: Use secret volume with items to map keys to filenames

        The items field allows selecting specific keys and renaming files.
      2. Step 2: Verify correct key and path mapping

        Key db-password mapped to password.txt with mountPath /etc/db matches volumes: - name: db-secret secret: secretName: mysecret items: - key: db-password path: password.txt containers: - name: app volumeMounts: - name: db-secret mountPath: /etc/db.
      3. Final Answer:

        Correctly maps the secret key to the desired filename and mount path. -> Option A
      4. Quick Check:

        Use items to rename secret keys in volume [OK]
      Hint: Use items to rename secret keys as files [OK]
      Common Mistakes:
      • Swapping key and path in items
      • Using configMap instead of secret
      • Mounting secret directly without items for renaming
      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