Kubernetes 掌舵普罗米修斯操作员-设置电子邮件通知/编辑机密

Kubernetes 掌舵普罗米修斯操作员-设置电子邮件通知/编辑机密,kubernetes,kubernetes-helm,prometheus-alertmanager,prometheus-operator,Kubernetes,Kubernetes Helm,Prometheus Alertmanager,Prometheus Operator,我已通过helm安装,现在想为alert manager设置电子邮件通知: 我编辑了普罗米修斯操作员的秘密 kubectl get secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring -o yaml apiVersion: v1 data: alertmanager.yaml: Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVj

我已通过helm安装,现在想为alert manager设置电子邮件通知:

我编辑了普罗米修斯操作员的秘密

    kubectl get secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring -o yaml
    apiVersion: v1
    data:
      alertmanager.yaml: Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi
    kind: Secret
    metadata:
      creationTimestamp: "2020-03-23T09:19:57Z"
      labels:
        app: prometheus-operator-alertmanager
        chart: prometheus-operator-8.12.2
        heritage: Helm
        release: prometheus
      name: alertmanager-prometheus-prometheus-oper-alertmanager
      namespace: monitoring
      resourceVersion: "1853097"
      selfLink: /api/v1/namespaces/monitoring/secrets/alertmanager-prometheus-prometheus-oper-alertmanager
      uid: eb7f514e-6bf4-4791-9c1a-e45590ba2a36
    type: Opaque



 echo 'Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi' | base64 --decode
已创建新的alertmanager.yaml文件

global:
  resolve_timeout: 5m
route:
  group_by: [Alertname]
  # Send all notifications to me.
  receiver: email-alert

  group_by: ['job', 'alertname', 'service', 'severity']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: email-alert
  routes:
  - match:
      severity: critical
    receiver: email-alert

receivers:
- name: email-alert
  email_configs:
  - to: email@example.com
    from: email@example.com
    # Your smtp server address
    smarthost: smtp.office365.com:587
    auth_username: email@example.com
    auth_identity: email@example.com
    auth_password: Pass
创建的模板:

apiVersion: v1
data:
  alertmanager.yaml: ALERTMANAGER_CONFIG
kind: Secret
metadata:
  name: alertmanager-main
  namespace: monitoring
type: Opaque
对其进行编码并应用

sed "s/ALERTMANAGER_CONFIG/$(cat alertmanager.yaml | base64 -w0)/g" alertmanager-secret-k8s.yaml | kubectl apply -f -
我通过端口30700将alertmanager公开为节点端口

因此,当我访问它()时,我看到这个alertmanager.yaml没有被应用,即secret没有被更改

我需要做什么才能编辑这个普罗米修斯警报管理器的秘密

试用

helm upgrade prometheus stable/prometheus-operator --namespace monitoring -f alertmanager.yaml 
没有帮助

多亏了参考资料,我才弄明白

  • 删除当前机密:

    kubectl delete secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring
    
  • 创建文件alertmanager.yaml:

      global:
        resolve_timeout: 5m
      route:
        receiver: 'email-alert'
        group_by: ['job']
    
    
        routes:
        - receiver: 'email-alert'
          match:
            alertname: etcdInsufficientMembers
          group_wait: 30s
          group_interval: 5m
          repeat_interval: 12h  
    
      receivers:
      - name: email-alert
        email_configs:
        - to: receiver@example.com
          from: sender@example.com
          # Your smtp server address
          smarthost: smtp.office365.com:587
          auth_username: sender@example.com
          auth_identity: sender@example.com
          auth_password: pass
    
  • 创建与旧密码同名的新密码:

    kubectl create secret generic alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring --from-file=alertmanager.yaml