Bird
Raised Fist0
Kubernetesdevops~5 mins

Creating Secrets in Kubernetes - Quick Revision & Summary

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 or keys, separately from application code. It helps keep secrets safe and out of plain sight.
Click to reveal answer
beginner
How do you create a secret from literal values using kubectl?
Use the command:
kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=12345
This creates a secret named 'my-secret' with username and password stored.
Click to reveal answer
intermediate
What is the difference between 'generic' and 'docker-registry' secret types?
'generic' is for general secrets like passwords or tokens.
'docker-registry' is specifically for storing Docker registry credentials to pull private images.
Click to reveal answer
beginner
How can you create a secret from a file?
Use the command:
kubectl create secret generic my-secret --from-file=path/to/file
This stores the file content as a secret value.
Click to reveal answer
beginner
Why should secrets not be stored in plain text in configuration files?
Storing secrets in plain text risks exposing sensitive data if files are shared or accessed by unauthorized users. Using Kubernetes Secrets helps keep them encoded and managed securely.
Click to reveal answer
Which command creates a Kubernetes secret from literal values?
Akubectl create secret generic my-secret --from-literal=key=value
Bkubectl apply secret my-secret --from-literal=key=value
Ckubectl secret create my-secret --literal=key=value
Dkubectl secret generic create my-secret --from-literal=key=value
What type of secret is used to store Docker registry credentials?
Atls
Bgeneric
Cdocker-registry
Dopaque
How can you create a secret from a file named 'config.txt'?
Akubectl create secret generic my-secret --from-file=config.txt
Bkubectl create secret file my-secret config.txt
Ckubectl secret create my-secret --file=config.txt
Dkubectl apply secret generic my-secret --file=config.txt
Why is it better to use Kubernetes Secrets instead of storing passwords in plain text files?
APlain text files are more secure.
BSecrets are automatically encrypted and managed securely.
CSecrets are visible to all users by default.
DPlain text files are faster to access.
Which command shows the details of a secret in Kubernetes?
Akubectl secret info my-secret
Bkubectl get secret my-secret -o yaml
Ckubectl show secret my-secret
Dkubectl describe secret my-secret
Explain how to create a Kubernetes secret from literal values and why it is useful.
Think about commands and the purpose of secrets.
You got /4 concepts.
    Describe the difference between generic secrets and docker-registry secrets in Kubernetes.
    Consider what each secret type stores.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of creating a Secret in Kubernetes?
      easy
      A. To store sensitive information like passwords and tokens securely
      B. To create a backup of your application data
      C. To increase the number of pods in a deployment
      D. To monitor the health of your cluster nodes

      Solution

      1. Step 1: Understand what Secrets are for

        Secrets in Kubernetes are designed to hold sensitive data such as passwords, tokens, or keys safely.
      2. Step 2: Compare options with the purpose

        Only To store sensitive information like passwords and tokens securely describes storing sensitive info securely, which matches the purpose of Secrets.
      3. Final Answer:

        To store sensitive information like passwords and tokens securely -> Option A
      4. Quick Check:

        Secrets store sensitive info = B [OK]
      Hint: Secrets = safe storage for sensitive data [OK]
      Common Mistakes:
      • Confusing Secrets with backups
      • Thinking Secrets manage pods or nodes
      • Assuming Secrets are for monitoring
      2. Which of the following is the correct command to create a generic secret named mysecret with a literal key-value pair username=admin?
      easy
      A. kubectl create secret generic mysecret --from-literal=username=admin
      B. kubectl secret create generic mysecret --literal=username=admin
      C. kubectl create secret mysecret --literal username=admin
      D. kubectl create secret generic mysecret username=admin

      Solution

      1. Step 1: Recall the correct syntax for creating a generic secret

        The correct command uses kubectl create secret generic [name] --from-literal=key=value.
      2. Step 2: Match the options with the correct syntax

        Only kubectl create secret generic mysecret --from-literal=username=admin matches the exact syntax with correct flags and order.
      3. Final Answer:

        kubectl create secret generic mysecret --from-literal=username=admin -> Option A
      4. Quick Check:

        Correct syntax uses --from-literal=key=value = D [OK]
      Hint: Use --from-literal=key=value with create secret generic [OK]
      Common Mistakes:
      • Using wrong flag names like --literal
      • Omitting 'generic' keyword
      • Incorrect order of arguments
      3. What will be the output of the command kubectl get secret mysecret -o yaml after creating a secret with kubectl create secret generic mysecret --from-literal=password=pass123?
      medium
      A. The secret will not appear in the output
      B. The password will be shown in plain text under data field
      C. The password will be base64 encoded under data field
      D. An error will occur because secrets cannot be viewed

      Solution

      1. Step 1: Understand how Kubernetes stores secret data

        Kubernetes stores secret values base64 encoded in the data field when viewed in YAML or JSON.
      2. Step 2: Analyze the command output

        The command shows the secret in YAML format with the password base64 encoded, not plain text.
      3. Final Answer:

        The password will be base64 encoded under data field -> Option C
      4. Quick Check:

        Secrets data is base64 encoded = A [OK]
      Hint: Secrets data shown base64 encoded, not plain text [OK]
      Common Mistakes:
      • Expecting plain text output
      • Thinking secrets are hidden completely
      • Assuming error when viewing secrets
      4. You tried to create a secret with the command kubectl create secret generic mysecret --from-literal password pass123 but got an error. What is the likely cause?
      medium
      A. You need to add --type=generic flag explicitly
      B. Secret name 'mysecret' is invalid
      C. The password value is too short
      D. Missing '=' sign between key and value in --from-literal

      Solution

      1. Step 1: Check the syntax of --from-literal flag

        The correct syntax requires an '=' sign between key and value, like --from-literal=key=value.
      2. Step 2: Identify the error in the command

        The command uses a space instead of '=', causing a syntax error.
      3. Final Answer:

        Missing '=' sign between key and value in --from-literal -> Option D
      4. Quick Check:

        --from-literal needs '=' between key and value = A [OK]
      Hint: Use '=' in --from-literal key=value, no spaces [OK]
      Common Mistakes:
      • Using space instead of '=' in --from-literal
      • Assuming secret name rules cause error
      • Thinking --type=generic is mandatory
      5. You want to create a secret from a file named config.txt and also add a literal key env=prod. Which command correctly does this?
      hard
      A. kubectl create secret generic appsecret --from-file=config.txt env=prod
      B. kubectl create secret generic appsecret --from-file=config.txt --from-literal=env=prod
      C. kubectl create secret generic appsecret --from-literal=config.txt --from-literal=env=prod
      D. kubectl create secret generic appsecret --from-file=config.txt --literal=env=prod

      Solution

      1. Step 1: Understand how to add file and literal to secret

        Use --from-file=filename to add file content and --from-literal=key=value for literals.
      2. Step 2: Check options for correct syntax

        kubectl create secret generic appsecret --from-file=config.txt --from-literal=env=prod correctly uses both flags with proper syntax; others misuse flags or omit '='.
      3. Final Answer:

        kubectl create secret generic appsecret --from-file=config.txt --from-literal=env=prod -> Option B
      4. Quick Check:

        Use --from-file and --from-literal together correctly = C [OK]
      Hint: Combine --from-file and --from-literal with '=' correctly [OK]
      Common Mistakes:
      • Using --from-literal for file instead of --from-file
      • Omitting '=' in --from-literal
      • Mixing flags incorrectly
      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