1

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

4

1 回答 1

2

要进行加密,您需要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: {}

这里提供者是 aescbc(最强加密),变量是在之前生成的:

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

看看这些文件:

于 2018-10-21T00:28:41.193 回答