Kubernetes 存储了集群状态、应用配置和密钥等很多不同的数据。而 Kubernetes 也支持集群数据的加密存储。
本部分将会创建加密密钥以及一个用于加密 Kubernetes Secrets 的 加密配置文件。
加密密钥
建立加密密钥:
ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
加密配置文件
生成名为 encryption-config.yaml 的加密配置文件:
cat > encryption-config.yaml <<EOFkind: EncryptionConfigapiVersion: v1resources:- resources:- secretsproviders:- aescbc:keys:- name: key1secret: ${ENCRYPTION_KEY}- identity: {}EOF
将 encryption-config.yaml 复制到每个控制节点上:
for instance in controller-0 controller-1 controller-2; dogcloud compute scp encryption-config.yaml ${instance}:~/done
下一步:部署 etcd 群集。
