在configmap中使用kubernetes机密
我正在Kubernetes集群上使用头盔,并安装了马厩。我想将数据从Logstash推送到rabbitmq中的一个交换机。我正试着用这个 rabbitmq ha图表创建了一个包含连接密码的密码。我希望能够获得该密码并将其包含在logstash配置中,以便logstash可以连接到该密码 logstash的ConfigMap使用值文件中的项进行模板化在configmap中使用kubernetes机密,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我正在Kubernetes集群上使用头盔,并安装了马厩。我想将数据从Logstash推送到rabbitmq中的一个交换机。我正试着用这个 rabbitmq ha图表创建了一个包含连接密码的密码。我希望能够获得该密码并将其包含在logstash配置中,以便logstash可以连接到该密码 logstash的ConfigMap使用值文件中的项进行模板化 outputs: main: |- output { rabbitmq { exchan
outputs:
main: |-
output {
rabbitmq {
exchange => "exchange_name"
exchange_type => "fanout"
host => "rabbitmq-ha.default.svc.cluster.local"
password => "????"
}
}
我不想在values文件中硬编码密码,因为这对安全性没有好处,这意味着为每个环境复制配置。我找不到让logstash从环境变量读取密码的方法
人们通常是怎么做的
我可以用来存储整个
输出
配置,并包括硬编码密码。这将避免在我的存储库中使用纯文本密码,但仍然不是最好的方法。结果表明,至少从logstash的5.0版开始,可以让logstash从环境变量中读取值
所以我的值文件看起来像
outputs:
main: |-
output {
rabbitmq {
exchange => "exchange_name"
exchange_type => "fanout"
host => "rabbitmq-ha.default.svc.cluster.local"
password => "${RMQ_PASSWORD}"
}
}
logstash图表允许使用extranv
值将环境变量添加到statefulset。extraEnv允许值来自机密
extraEnv:
- name: RMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-ha
key: rabbitmq-password
事实证明,至少从logstash的5.0版开始,可以让logstash从环境变量读取值 所以我的值文件看起来像
outputs:
main: |-
output {
rabbitmq {
exchange => "exchange_name"
exchange_type => "fanout"
host => "rabbitmq-ha.default.svc.cluster.local"
password => "${RMQ_PASSWORD}"
}
}
logstash图表允许使用extranv
值将环境变量添加到statefulset。extraEnv允许值来自机密
extraEnv:
- name: RMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-ha
key: rabbitmq-password