我正在学习docker / k8s;我想将.pem文件传递/存储到在k8s集群上运行的boostrap容器中。此容器使用.pem来创建k8s秘密(kubectl创建秘密...),通过安装kubernetes秘密,该文件将由在k8s上运行的其他应用程序使用。
我可以想到以下选项,
想了解其中哪种是完成此任务的最佳实践/安全方法。
答案 0 :(得分:0)
我已经看到它以多种方式完成,但是我建议使用配置映射,这样pem文件就可以驻留在您的k8s集群中,而您不必在s3之内处理加密。此外,如果您将其包含在Docker代码中,那么这将允许您的devops团队而不是应用程序开发人员来处理维护工作
创建配置图
kubectl -n <namespace-for-config-map-optional> create configmap ca-pemstore — from-file=my-cert.pem
将新配置添加到您的pod yaml文件
apiVersion: v1
kind: Pod
metadata:
name: <some metadata name>
spec:
containers:
- name: <container name>
image: <container image>
volumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/my-cert.pem
subPath: my-cert.pem
readOnly: false
ports:
- containerPort: 80
command: ...
args: ...
volumes:
- name: ca-pemstore
configMap:
name: ca-pemstore