【发布时间】:2020-07-15 14:59:14
【问题描述】:
我有一个包含以下内容的 yaml 文件:
...
volumeMounts:
- mountPath: /var/lib/grafana
name: grafana-storage
- mountPath: /etc/grafana/provisioning/datasources
name: grafana-datasources
readOnly: false
...
并且指定了 grafana-datasource 卷中的另一个文件:
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-datasources
namespace: ccx-data-pipeline
labels:
grafana_datasource: '1'
data:
prometheus.yaml: |-
{
"apiVersion": 1,
"datasources": [
{
"access":"proxy",
"editable": true,
"name": "prometheus-ccx-service",
"orgId": 1,
"type": "prometheus",
"url": "http://prometheus-service:9090",
"version": 1
}
]
}
重点是
"url": "http://prometheus-service:9090"
不能硬编码,但必须参数化(最好使用环境变量)。这样做会很棒:
"url": "${ENDPOINT}"
但它不起作用,可能是由于 |- 语法。有没有一种优雅的方法来实现这一点?
【问题讨论】:
-
Kubernetes 和 Prometheus 都不支持
${}语法。与|-无关;对于 YAML,它只是普通的内容。
标签: kubernetes configuration environment-variables yaml config