هناك حالة استخدام: انشر بروميثيوس باعتباره StatefulSet وقواعد التنبيه ConfigMap .
يمكن أن تأخذ _alerting-rules_ مزيدًا من التفاصيل هنا: https://prometheus.io/docs/alerting/rules/#alerting -rules
يبدو مثل:
ALERT InstanceMemoryOverload
IF node_memory_Active >= 1
FOR 1m
LABELS {
service = "k8s_metrics",
alertname = "InstanceMemoryOverload"
}
ANNOTATIONS {
summary = "Instance {{ $labels.instance }} memory overload",
description = "{{ $labels.instance }} memory overload for more than 1 minutes, now is {{ $value }}."
}
هل يستطيع Helm دعم تجاهل {{expr}} الذي هو فقط للتهيئة وليس للعرض؟
لدي حالة استخدام مماثلة للحصول على قالب نمط go في خريطة التكوين. الآن يحاول helm تقييم القالب والتسبب في أخطاء في خريطة التكوين.
لقد واجهت هذه المشكلة نفسها / المماثلة منذ فترة ، وقمت بحلها عن طريق تضمين قواعد التنبيه كملفات منفصلة ، مثل
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "fullname" . }}-rules
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
role: {{ template "fullname" . }}-rulefiles
prometheus: {{ template "fullname" . }}
data:
{{ (.Files.Glob "files/kubernetes.rules").AsConfig }}
{{ (.Files.Glob "files/etcd2.rules").AsConfig }}
{{ (.Files.Glob "files/custom_alert.rules").AsConfig }}
AFAIK من الصعب للغاية الهروب من {{ }}
في قالب go ، والتخلص من الملفات من مكان آخر أسهل بكثير.
تتمثل طريقة الهروب من الأقواس المزدوجة المتعرجة في قوالب Go في استخدام {{ "{{" }}
. إنه ليس صعبًا للغاية ، إنه قبيح فقط.
سأغلق هذه المشكلة لأن لدينا حلين منفصلين للمشكلة ، ولكن يرجى إعادة الفتح إذا لم يتم حل ذلك.
bacongobbler مرحبًا ماثيو ، لقد كنت أقاتل مع كيفية الهروب من الأقواس المتعرجة في قالب هيلم في تخفيض السعر. ربما لا أفهم الحل الخاص بك. كيف يمكنني تقديم هذا بشكل صحيح؟
(مجرد مقتطف). لقد جربت raw / endraw ، قبل ، مائل عكسي مفرد ، شرطة مائلة عكسية مزدوجة - لم ينجح!
شكرا على أي اقتراح ... أحاول وضع هذا في كتلة التعليمات البرمجية إما مع المسافات البادئة أو backticks.
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: {{ template "fullname" . }}
bacongobbler لقد وجدت الحل. أحتاج إلى استخدام كل من القيمة المسبقة و &123; &125;
bacongobbler لقد وجدت الحل. أحتاج إلى استخدام كل من القيمة المسبقة و
&123; &125;
هل يمكنك إظهار مثال من فضلك؟
هل هناك طريقة لاستبعاد yaml واحد من محرك القالب؟
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick:
# Excerpt from a Prometheus Alertmanager yaml
receivers:
- name: slack-receiver
slack_configs:
- text: |-
{{`{{ range .Alerts }}
*Alert:* {{ .Annotations.summary }}
{{ end }}`}}
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick:
# Excerpt from a Prometheus Alertmanager yaml receivers: - name: slack-receiver slack_configs: - text: |- {{`{{ range .Alerts }} *Alert:* {{ .Annotations.summary }} {{ end }}`}}
شكرا جزيلا. هذا حل المشكلة الكبيرة
يمكنك أيضًا استخدام printf لذلك:
{{ printf "{{ some value }}" }}
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick:
# Excerpt from a Prometheus Alertmanager yaml receivers: - name: slack-receiver slack_configs: - text: |- {{`{{ range .Alerts }} *Alert:* {{ .Annotations.summary }} {{ end }}`}}
يعمل ، تشك
الإصدار: v1.0
النوع: ConfigMap
البيانات الوصفية:
الاسم: {{template "fullname". }}-قواعد
ملصقات:
مخطط: "{{.Chart.Name}} - {{.Chart.Version | استبدال" + "" _ "}}"
الدور: {{template "fullname". }} - ملفات مسطرة
بروميثيوس: {{template "fullname". }}
البيانات:
{{(.Files.Glob "files / kubernetes.rules"). AsConfig}}
{{(.Files.Glob "files / etcd2.rules"). AsConfig}}
{{(.Files.Glob "files / custom_alert.rules"). AsConfig}}
هذا لم يعمل بالنسبة لي.
بعد ضرب رأسي لمدة يومين تمكنت من القيام بالعمل التالي!
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "fullname" . }}-rules
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
role: {{ template "fullname" . }}-rulefiles
prometheus: {{ template "fullname" . }}
data:
{{- (.Files.Glob "files/kubernetes.rules").AsConfig | nindent 2}}
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick:
# Excerpt from a Prometheus Alertmanager yaml receivers: - name: slack-receiver slack_configs: - text: |- {{`{{ range .Alerts }} *Alert:* {{ .Annotations.summary }} {{ end }}`}}
يمكنني أن أضيف إلى جوقة التأكيدات أن هذا لا يزال يعمل.
وقد تحتاجها للحصول على هذا للعمل:
https://www.vaultproject.io/docs/platform/k8s/injector/examples/
cat <<EOF >> ./patch.yaml
spec:
template:
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-status: "update"
vault.hashicorp.com/agent-inject-secret-db-creds: "database/creds/db-app"
vault.hashicorp.com/agent-inject-template-db-creds: |
{{- with secret "database/creds/db-app" -}}
postgres://{{ .Data.username }}:{{ .Data.password }}<strong i="13">@postgres</strong>:5432/appdb?sslmode=disable
{{- end }}
vault.hashicorp.com/role: "db-app"
vault.hashicorp.com/ca-cert: "/vault/tls/ca.crt"
vault.hashicorp.com/client-cert: "/vault/tls/client.crt"
vault.hashicorp.com/client-key: "/vault/tls/client.key"
vault.hashicorp.com/tls-secret: "vault-tls-client"
EOF
spec:
groups:
- name: alertrules.kafkalag
rules:
- alert: AssessmentAggregator lag
expr: sum(samza_pipeline_metrics_consumer_lag{job_name= "AssessmentAggregator"}) > {{ .Values.assessment_aggregator_threshold }}
for: 5m
labels:
severity: critical
annotations:
message: {{`"AssessmentAggregator lag is {{$value}}"`}}
summary: AssessmentAggregator lag is Critical
````
You can add
{{ .......
}}
""
وسوف قالب بشكل صحيح
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick:
# Excerpt from a Prometheus Alertmanager yaml receivers: - name: slack-receiver slack_configs: - text: |- {{`{{ range .Alerts }} *Alert:* {{ .Annotations.summary }} {{ end }}`}}
للأسف هذا لا يعمل باستخدام promtool
. https://prometheus.io/docs/prometheus/latest/configuration/unit_testing_rules/
spec: groups: - name: alertrules.kafkalag rules: - alert: AssessmentAggregator lag expr: sum(samza_pipeline_metrics_consumer_lag{job_name= "AssessmentAggregator"}) > {{ .Values.assessment_aggregator_threshold }} for: 5m labels: severity: critical annotations: message: {{`"AssessmentAggregator lag is {{$value}}"`}} summary: AssessmentAggregator lag is Critical
يمكنك إضافة ملفات
{{` ....... `}}
وسوف قالب بشكل صحيح
رائع!!!. انها عملت. شكرا.
التعليق الأكثر فائدة
الاختراق القابل للتطبيق هو السماح لـ Helm بعرض القالب كسلسلة خام. لاحظ قوس الفتح والإغلاق المجعد مع backtick: