argocd 同步 部署 状态集成钉钉通知
在使用gitop 过程中需要明确知道 每个环节的具体情况,此文在argocd 环节进行了 钉钉集成具体方法如下
1、在 argocd 安装文件 install.yaml 文件里的 argocd-notifications-cm 部分进行相关配置
首先在在PC端安装部署 钉钉PC版 创建群聊 添加自定义机器人 然后获取机器的webhook地址
往下拉找到机器人部分
添加机器人
这里 可以设置安装方式 有三种方式 我这里使用的是关键字
也可以选择使用标签,如果使用标签的方式 请参考这篇文章 https://www.cnblogs.com/nb-blog/p/18071093
在群聊里添加机器人后就可以配置 argocd 的 install.yaml 文件了
修改 install.yaml 文件的argocd-notifications-cm 相关配置信息
由于文件比较大我整理到gitee 了
https://gitee.com/stud_1/install_argocd/blob/master/new_install.yaml

apiVersion: v1 kind: ConfigMap metadata: name: argocd-notifications-cm data: service.webhook.dingtalk: | url: https://oapi.dingtalk.com/robot/send?access_token=9a632a742960d1dd0943ebf21948140340354b4a2d06eb4399cab72984475de8 headers: - name: Content-Type value: application/json context: | argocdUrl: https://101.43.196.155:32329 template.app-sync-change: | webhook: dingtalk: method: POST body: | { "msgtype": "markdown", "markdown": { "title":"ArgoCD应用状态", "text": "### ArgoCD应用状态\n> - 应用名称111111: {{.app.metadata.name}}\n> - 同步状态: {{ .app.status.operationState.phase}}\n> - 时间:{{.app.status.operationState.finishedAt}}\n> - 应用URL: [点击跳转]({{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true) \n" } } template.app-sync-status-unknown: | webhook: dingtalk: method: POST body: | { "msgtype": "markdown", "markdown": { "title":"ArgoCD应用Unknown", "text": "### ArgoCD应用Unknown\n> - <font color=\"warning\">应用名称</font>: {{.app.metadata.name}}\n> - <font color=\"warning\">应用同步状态</font>: {{.app.status.sync.status}}\n> - <font color=\"warning\">应用健康状态</font>: {{.app.status.health.status}}\n> - <font color=\"warning\">时间</font>: {{.app.status.operationState.startedAt}}\n> - <font color=\"warning\">应用URL</font>: [点击跳转ArgoCD UI]({{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true)" } } template.app-sync-failed: | webhook: dingtalk: method: POST body: | { "msgtype": "markdown", "markdown": { "title":"ArgoCD应用发布失败", "text": "### ArgoCD应用发布失败\n> - <font color=\"danger\">应用名称</font>: {{.app.metadata.name}}\n> - <font color=\"danger\">应用同步状态</font>: {{.app.status.operationState.phase}}\n> - <font color=\"danger\">应用健康状态</font>: {{.app.status.health.status}}\n> - <font color=\"danger\">时间</font>: {{.app.status.operationState.startedAt}}\n> - <font color=\"danger\">应用URL</font>: [点击跳转ArgoCD UI]({{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true)" } } trigger.on-deployed: | - description: Application is synced and healthy. Triggered once per commit. oncePer: app.status.sync.revision send: [app-sync-change] # trigger condition when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy' trigger.on-health-degraded: | - description: Application has degraded send: [app-sync-change] when: app.status.health.status == 'Degraded' trigger.on-sync-failed: | - description: Application syncing has failed send: [app-sync-failed] when: app.status.operationState != nil and app.status.operationState.phase in ['Error','Failed'] trigger.on-sync-status-unknown: | - description: Application status is 'Unknown' send: [app-sync-status-unknown] when: app.status.sync.status == 'Unknown' trigger.on-sync-running: | - description: Application is being synced send: [app-sync-change] when: app.status.operationState != nil and app.status.operationState.phase in ['Running'] trigger.on-sync-succeeded: | - description: Application syncing has succeeded send: [app-sync-change] when: app.status.operationState != nil and app.status.operationState.phase in ['Succeeded'] subscriptions: | - recipients: [dingtalk] triggers: [on-sync-failed, on-sync-succeeded, on-sync-status-unknown,on-deployed,on-health-degraded] --- apiVersion: v1 data: policy.csv: | g, admin@example.com, role:admin policy.default: role:readonly scopes: '[email, group]' kind: ConfigMap metadata: labels: app.kubernetes.io/name: argocd-rbac-cm app.kubernetes.io/part-of: argocd name: argocd-rbac-cm
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/18075779
分类:
kubenetes / argocd
, kubenetes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-03-15 tmux 终端复用详解
2016-03-15 linux+nginx+mysql+php高性能服务器搭建
2016-03-15 1 #安装php
2016-03-15 NGINX服务器打开目录浏览功能
2016-03-15 Nginx的500,502,504错误解决方法
2016-03-15 nginx提示:500 Internal Server Error错误的解决方法
2016-03-15 Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化