加密 kubernetes etcd 存储中的秘密数据

Encrypting secret data in kubernetes etcd store

默认情况下,存储在etcd中的所有数据都是不加密的,对于生产部署,存储在etcd中的一些数据需要加密,比如secrets,有没有办法以加密的方式存储secrets , 在 etcd 中,默认情况下。

要进行加密,您需要使用此参数指示 apiserver 服务:

--experimental-encryption-provider-config=/var/lib/kubernetes/encryption-config.yaml

yaml 文件包含以下内容:

kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}

这里provider是aescbc(最强加密),变量生成之前:

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

查看这些文档: