apiVersion: v1 kind: ConfigMap metadata: name: alertmanager-config namespace: kube-public data: alertmanager.yml: |- global: resolve_timeout: 1m http_config: {} smtp_hello: localhost smtp_require_tls: true route: receiver: uen group_wait: 30s repeat_interval: 4h group_by: ['alertname','env'] routes: - match_re: alertname: (.*微付猫.*|.*新闪付.*) receiver: wfm repeat_interval: 4h group_wait: 30s - match_re: alertname: (.*测试环境.*) receiver: test repeat_interval: 8h group_wait: 30s receivers: - name: uen webhook_configs: - send_resolved: true url: http://dingtalk:8060/dingtalk/uen/send - name: wfm webhook_configs: - send_resolved: true url: http://dingtalk:8060/dingtalk/wfm/send - name: test webhook_configs: - send_resolved: true url: http://dingtalk:8060/dingtalk/test/send --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data-alertmanager namespace: kube-public spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: name: alertmanager name: alertmanager namespace: kube-public spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 7 selector: matchLabels: app: alertmanager strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: labels: app: alertmanager spec: containers: - name: alertmanager image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/alertmanager:0.26 #image: harbor.uenpay.com/base/alertmanager:0.26 imagePullPolicy: IfNotPresent args: - --web.external-url=http://alertmanager.uenpay.com - --config.file=/etc/config/alertmanager.yml - --storage.path=/data/alertmanager ports: - containerPort: 9093 protocol: TCP resources: limits: cpu: '500m' memory: 500Mi requests: cpu: 100m memory: 100Mi volumeMounts: - name: config mountPath: /etc/config - name: data mountPath: /data/alertmanager - name: timezone mountPath: /etc/localtime restartPolicy: Always securityContext: runAsUser: 0 terminationGracePeriodSeconds: 30 volumes: - name: config configMap: defaultMode: 420 name: alertmanager-config - name: data persistentVolumeClaim: claimName: data-alertmanager - name: timezone hostPath: path: /usr/share/zoneinfo/Asia/Shanghai type: "" tolerations: - key: prometheus effect: NoSchedule operator: Exists --- apiVersion: v1 kind: Service metadata: name: alertmanager namespace: kube-public spec: ports: - port: 9093 protocol: TCP targetPort: 9093 selector: app: alertmanager type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/ssl-redirect: 'true' name: alertmanager namespace: kube-public spec: ingressClassName: nginx rules: - host: alertmanager.uenpay.com http: paths: - backend: service: name: alertmanager port: number: 9093 path: / pathType: ImplementationSpecific tls: - hosts: - alertmanager.uenpay.com secretName: uenpay.com