默认情况下,存储在etcd中的所有数据都不加密,对于生产部署,存储在etcd中的某些数据需要加密,例如 secret 。是否可以通过加密方式在etcd中存储 secret ,方法是:默认。
最佳答案
要进行加密,您需要使用以下参数指示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)
看一下这些文件:
关于security - 在kubernetes etcd存储中加密 secret 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52910971/