kubernetes - 在部署期间将秘密值注入 configmap,而不使用环境变量
问题描述
我有一个像这样的配置图
apiVersion: v1
kind: ConfigMap
metadata:
namespace: develop
name: test-config
data:
app.conf: |
connection conn1
address 127.0.0.1:8080
user cluster1
password: <HERE COPY PASS FROM SECRET>
app.conf 部分作为配置文件安装在容器内,使用
spec:
replicas: 1
...
spec:
containers:
- name: container-name
...
volumeMounts:
- name: test-config-vol
mountPath: /etc/app/app.conf
subPath: app.conf
volumes:
- name: test-config-vol
configMap:
name: test-config
读取该文件的应用程序无法读取环境变量,我无法更改该行为,它是第三方应用程序。
我想知道如何在 pod 部署期间将密码中的密码注入密码字段
解决方案
你不能,你可以做的是使用密码安装一个Kuberentes 机密- 请参阅此处的文档。因此,您最终将拥有 2 个文件 - 一个来自配置映射,一个来自秘密。
如果您的应用不支持多个配置文件,则您必须将整个配置文件存储在密钥而不是配置映射中。
此外,请注意 Kubernetes 机密不能存储在源代码控制中,因为机密数据是使用 base64 编码的(有关更多详细信息,请参见此处)。这个问题有多种解决方法,看看我的帖子
推荐阅读
- python - Python Pandas 在 groupby 中的单元格中按给定值移动
- excel - 复制和重命名选项卡 VBA
- amazon-web-services - 跟踪 AWS Lambda 函数以检测人为干预和危害
- c# - 如何使用 C# 修复格式错误的空格分隔符
- rollupjs - 处理 continuation-local-storage/contex.js 时出现语法错误
- python-3.x - 向 Python 字典中的键添加多个值
- node.js - 从nodejs服务器自动删除的图像
- python - 使用 SpanSelector 从 Python 中的绘图中提取子集
- python - 有没有一种简单的方法可以根据输入的 Len 计算 Python 中的公式
- javascript - 如何将 SoundCloud 信息获取到网站?