我已配置为将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中运行,因为它无法理解任何环境变量