我正在库伯内特斯集群上使用Helm,并安装了稳定的Rabbitmq-ha图表。我想从Logstash将数据推送到Rabbitmq中的交换。我正在尝试使用logstash稳定图表。
rabbitmq ha图表创建了一个包含连接密码的密码。我希望能够获得该密码并将其包含在logstash配置中,以便logstash可以连接到该密码。
logstash的ConfigMap是使用值文件中的项进行模板化的。
outputs:
main: |-
output {
rabbitmq {
exchange => "exchange_name"
exchange_type => "fanout"
host => "rabbitmq-ha.default.svc.cluster.local"
password => "????"
}
}
我不想在值文件中硬编码密码,因为这对安全性没有好处,这意味着要为每个环境复制配置。我找不到让logstash从环境变量读取密码的方法。
人们通常是如何做到这一点的?
我可以使用helm secrets存储整个输出配置,并包括硬编码密码。这样可以避免在我的存储库中使用纯文本密码,但仍然不是最好的方式。
事实证明,至少从logstash的5.0版开始,就可以让logstash从环境变量中读取值。https://www.elastic.co/guide/en/logstash/current/environment-variables.html
所以我的价值观文件可以看起来像
outputs:
main: |-
output {
rabbitmq {
exchange => "exchange_name"
exchange_type => "fanout"
host => "rabbitmq-ha.default.svc.cluster.local"
password => "${RMQ_PASSWORD}"
}
}
logstash图表允许使用extranv值将环境变量添加到状态集。extraEnv允许值来自机密。
extraEnv:
- name: RMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-ha
key: rabbitmq-password
我是kubernetes的新手,需要在openshift平台上使用k8s confimap将springboot应用程序的属性文件外部化。我已将属性文件保存在git repo中,作为“greeter.message=Spring Bootmyapplication.properties已在库伯内特斯上挂载为卷!”并使用“oc create confimap myconfig--from-file=
我有一个Kubernetes pod(让我们称之为POD-A),我希望它使用某个配置文件来使用k8s API执行一些操作。配置文件将是一个YAML或JSON,由POD中的应用程序解析。 配置文件由云上的应用服务器托管,它的最新版本可以根据触发器提取。配置文件包含k8s集群中所有部署的配置细节,并将用于使用POD-A中的k8s API更新部署。 现在我想的是将这个配置文件保存在配置映射中,每次拉出一
是否有方法在ConfigMap中指定值?当我尝试指定端口号时,我得到以下错误。
当与后台程序集关联的Kubernetes Pod的configmap更新时,如何自动重新启动它们? 根据kubernetes文档,当configmap卷挂载更新时,它会自动更新POD。但是,我并不认为后台进程集会发生这种情况。我错过了什么? 当我更新configmap中的字段以读取另一个日志文件时,虽然我看到卷挂载正在更新,但我看不到POD正在接收更改,除非我删除并重新创建后台启动。 有没有一种方
我有一个配置文件作为库伯内特斯ConfigMap数据部分的一部分。每当配置文件(ConfigMap data:)的内容发生变化时,应该会有一些触发器/侦听器导致一些调用。(作为此调用的一部分,我需要实现一些代码来重新启动一些服务对象)。 是否有一些可用的库伯内特斯配置可用于为ConfigMap配置此侦听器?。 ConfigMap示例: