企业微信机器人webhook
deployment
apiVersion: apps/v1kind: Deploymentmetadata: labels: name: kube-eventer name: kube-eventer namespace: kube-systemspec: replicas: 1 selector: matchLabels: app: kube-eventer template: metadata: labels: app: kube-eventer annotations: scheduler.alpha.kubernetes.io/critical-pod: '' spec: dnsPolicy: ClusterFirstWithHostNet serviceAccount: nginx-ingress-controller containers: - image: registry.aliyuncs.com/acs/kube-eventer-amd64:v1.2.0-484d9cd-aliyun name: kube-eventer command: - "/kube-eventer" - "--source=kubernetes:https://kubernetes.default" ## .e.g,dingtalk sink demo - --sink=webhook:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*******************&level=Normal&kinds=Pod&header=Content-Type=application/json&custom_body_configmap=custom-body&custom_body_configmap_namespace=kube-system&method=POST env: # If TZ is assigned, set the TZ value as the time zone - name: TZ value: Asia/Shanghai volumeMounts: - name: localtime mountPath: /etc/localtime readOnly: true - name: zoneinfo mountPath: /usr/share/zoneinfo readOnly: true resources: requests: cpu: 100m memory: 100Mi limits: cpu: 500m memory: 250Mi volumes: - name: localtime hostPath: path: /etc/localtime - name: zoneinfo hostPath: path: /usr/share/zoneinfo---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: kube-eventerrules: - apiGroups: - "" resources: - events - configmaps verbs: - get - list - watch - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list","create"]---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: annotations: name: kube-eventerroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: kube-eventersubjects: - kind: ServiceAccount name: kube-eventer namespace: kube-system---apiVersion: v1kind: ServiceAccountmetadata: name: kube-eventer namespace: kube-systemconfigmap
apiVersion: v1data: content: >- {"msgtype": "text","text": {"content": "[PROD集群事件警报]\n命名空间:{{ .Namespace }}\n事件级别:{{ .Type }}\n事件对象:{{ .InvolvedObject.Kind }}\n对象名称:{{ .Name }}\n产生起因:{{ .Reason }}\n事件工夫:{{ .EventTime }}\n事件信息:{{ .Message }}"}}kind: ConfigMapmetadata: name: custom-body namespace: kube-system
参考文献
https://github.com/AliyunContainerService/kube-eventer/blob/master/docs/en/webhook-sink.md