Generating a Data Encryption Config for Kubernetes

1 hour
  • 2 Learning Objectives

About this Hands-on Lab

Kubernetes offers the ability to encrypt sensitive data at rest. In order to take advantage of this feature, it is necessary to generate an encryption key and a data encryption config. In this learning activity, you will learn how to generate an encryption key and a data encryption config file for Kubernetes.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Generate an encryption key and include it in a Kubernetes data encryption config file.

To accomplish this task, do the following on the workspace server:

ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)

cat > encryption-config.yaml << EOF
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}
EOF
Copy the file to the Kubernetes controller servers.

Copy encryption-config.yaml to each Kubernetes controller by running these commands from the workspace server. Be sure to replace the placeholders with the actual IP addresses of the controller servers.

scp encryption-config.yaml cloud_user@&lt;controller 1 public ip>:~/
scp encryption-config.yaml cloud_user@&lt;controller 2 public ip>:~/

Additional Resources

Your team is working on setting up a Kubernetes cluster with two controllers and two worker nodes. In order to ensure that the cluster is configured securely, the team wants to enable the feature that allows Kubernetes to encrypt sensitive data at rest. In order to accomplish this, the team needs a Kubernetes data encryption config file containing an encryption key. Your task is to generate an encryption key and create this file, then copy the file to the two Kubernetes master servers.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?