在logstash配置中使用环境变量

问题描述 投票:0回答:1

我已配置为将logstash作为sidecar运行,并在从数据库捕获任何更改后将数据推送到es。我添加了我的服务中的 Logstash 图像将使用的变量。但不知何故它无法捕获那些环境变量

logstash 配置中的 JDBC 输入插件

jdbc {
    jdbc_driver_library => "/usr/share/logstash/mysql-connector-java-8.0.22.jar"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://${MYSQL_HOST}/<DB_NAME>"
    jdbc_user => "${MYSQL_USER}"
    jdbc_password => "${MYSQL_PASSWORD}"
.
.
.

我的使用上述logstash 配置的服务的deployment.yaml。我是

- name: logstash-sidecar
  image: <Logstash image name here>
  imagePullPolicy: IfNotPresent
  securityContext:
     runAsNonRoot: true
     runAsUser: 1001
env:
            - name: MYSQL_HOST
              value: {{ .Values.datastore.host }}
            - name: MYSQL_USER
              value: {{ .Values.datastore.user | quote }}
            - name: ES_HOST
              value: {{ .Values.logstash.es.host }}
            - name: MYSQL_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: db-secret
                  key: db_password_key
  • 请注意,logstash 配置是一项全新的服务,我在一项新服务中使用该服务的映像,我想将其作为 sidecar 运行。
  • 请忽略缩进部分。这是正确的,只是在这里它没有被很好地解析

我尝试部署更改,但logstash无法在sidecar中运行,因为它无法理解任何环境变量

elasticsearch logstash kubernetes-helm
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.