обновление руля завершается неудачно с "функцией" X "не определено" - PullRequest
1 голос
/ 14 апреля 2019

Я пытаюсь обновить график руля,

Я получаю функцию ошибки "pod", не определенную, что имеет смысл, потому что у меня действительно нет такой функции.

"pod" происходит из файла json, который я конвертирую в configmap, и helm читает это значение как функцию, а не как прямую строку, являющуюся частью файла json.

Это фрагмент моего configmap:

# Generated from 'pods' from https://raw.githubusercontent.com/coreos/prometheus-operator/master/contrib/kube-prometheus/manifests/grafana-dashboardDefinitions.yaml
# Do not change in-place! In order to change this file first read following link:
# https://github.com/helm/charts/tree/master/stable/prometheus-operator/hack
{{- if and .Values.grafana.enabled .Values.grafana.defaultDashboardsEnabled }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ printf "%s-%s" (include "prometheus-operator.fullname" $) "services-health" | trunc 63 | trimSuffix "-" }}
  labels:
    {{- if $.Values.grafana.sidecar.dashboards.label }}
    {{ $.Values.grafana.sidecar.dashboards.label }}: "1"
    {{- end }}
    app: {{ template "prometheus-operator.name" $ }}-grafana
{{ include "prometheus-operator.labels" $ | indent 4 }}
data:
  services-health.json: |-
    {
      "annotations": {
        "list": [
          {
            "builtIn": 1,
            "datasource": "-- Grafana --",
            "enable": true,
            "hide": true,
            "iconColor": "rgba(0, 211, 255, 1)",
            "name": "Annotations & Alerts",
            "type": "dashboard"
          }
        ]
      },
      "targets": [
        {
          "expr": "{__name__=~\"kube_pod_container_status_ready\", container=\"aggregation\",kubernetes_namespace=\"default\",chart=\"\"}",
          "format": "time_series",
          "instant": false,
          "intervalFactor": 2,
          "legendFormat": "{{pod}}",
          "refId": "A"
        }
}
{{- end }}

Ошибка, которую я получаю из этой строки: "legendFormat": "{{pod}}",

И вот ошибка, которую я получаю:

обновление руля - сухая прометей-оператор-диаграмма / Главная / убунт / инфра-DevOps / штурвал / вектор-диаграмма / Prometheus-оператор-чарт / Ошибка: СБОЙ ОБНОВЛЕНИЯ: ошибка синтаксического анализа в "prometheus-operator / templates / grafana / dashboards / services-health.yaml": шаблон: ПРОМЕТЕЙ-оператор / шаблоны / графана / Щитки / услуги-health.yaml: 1213: функция "стручок" не определена

Я пытался избежать этого, но ничего не получалось. Кто-нибудь получит представление о том, как я могу обойти эту проблему?

1 Ответ

1 голос
/ 14 апреля 2019

Выход из местозаполнителей gotpl возможен при использовании backticks . Например, в вашем сценарии вместо использования {{ pod }} вы можете написать {{` {{ pod }} `}}.

...