GitOps - 为 OpenShift GitOps 配置邮件通知

这篇具有很好参考价值的文章主要介绍了GitOps - 为 OpenShift GitOps 配置邮件通知。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《OpenShift 4.x HOL教程汇总》
说明:本文已经 在OpenShift 4.15 + OpenShift GitOps 1.11.2 环境中验证

说明:先根据《OpenShift 4 之 GitOps(1)通过OpenShift GitOps Operator 安装 ArgoCD》完成安装,然后在 ArgoCD 中创建 spring-petclinic 应用。

ArgoCD 的 Notification 功能简介

ArgoCD 在更新完应用后可以根据更新的状态触发相关事件,例如:on-sync-succeeded,on-sync-running,on-sync-failed 等。针对这些事件,可以通过不同的渠道(例如:Email、Slack、Grafna、Webhook)发送给指定通知方。

启动 OpenShift GitOps 的 Notification 功能

  1. 执行以下命令,启动 Notification 功能。
$ oc patch argocd openshift-gitops -n openshift-gitops --type merge --patch '{"spec": {"notifications": {"enabled": true}}}'
  1. 完成后可以查看 openshift-gitops 拓扑中会新增名为 openshift-gitops-notification-controller 的部署。
    GitOps - 为 OpenShift GitOps 配置邮件通知,DevOps,OpenShift 4,GitOps,openshift,gitops,devops,kubernetes,cicd,ci/cd
  2. 执行以下命令,确认 GitOps Operator 已经自动创建 NotificationsConfiguration 对象。而和通知相关的对象还有 argocd-notifications-cm 和 argocd-notifications-secret。
$ oc get notificationsconfiguration -n openshift-gitops
NAME                                  AGE
default-notifications-configuration   21m
 
$ oc get cm argocd-notifications-cm -n openshift-gitops
NAME                      DATA   AGE
argocd-notifications-cm   16     35m
 
$ oc get secret argocd-notifications-secret -n openshift-gitops
NAME                          TYPE     DATA   AGE
argocd-notifications-secret   Opaque   0      37m
  1. argocd-notifications-cm 中是触发通知的 trigger 和通知内的 template。由于 argocd-notifications-cm 是由 NotificationsConfiguration CRD 生成的,因此无法直接修改 argocd-notifications-cm,而只能修改 NotificationsConfiguration。
    GitOps - 为 OpenShift GitOps 配置邮件通知,DevOps,OpenShift 4,GitOps,openshift,gitops,devops,kubernetes,cicd,ci/cd

配置邮件通知

  1. 创建将在邮件 serveice 中使用的 Secret。
$ oc apply -n argocd -f - << EOF
apiVersion: v1
kind: Secret
metadata:
  name: argocd-notifications-secret
stringData:
  email-username: xxx@gmail.com
  email-password: xxxxxxxxxxxxx
type: Opaque
EOF
  1. 在 default-notifications-configuration 对象中增加以下 services 的内容,通过该邮件 serveice 发送通知邮件。
apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
  name: default-notifications-configuration
  namespace: openshift-gitops
spec:
  services:
    service.email.gmail: |
      host: smtp.gmail.com
      port: 465
      username: $email-username
      password: $email-password
      from: $email-username
。。。
  1. 向 spring-petclinic 的 ArgoCD 应用添加注释,注释内容为 notifications.argoproj.io/subscribe.<trigger>.<service>: <recipient>,其定义了该应用接收 ArgoCD 的 trigger 类型(即 subscribe.on-sync-succeeded),使用的发送 service (即 gmail)和邮件的接受者(即 user@sina.com;user@sohu.com)。
$ oc annotate application spring-petclinic -n openshift-gitops notifications.argoproj.io/subscribe.on-sync-succeeded.gmail='user@sina.com;user@sohu.com'

验证

  1. 进入 spring-petclinic 应用用到的 Git Repo,调整 openshift-gitops-getting-started/app/deployment.yaml 文件的 replicas。
  2. 确认 ArgoCD 可以自动更新最新的 deployment。
  3. 确认可以收到邮件。
    GitOps - 为 OpenShift GitOps 配置邮件通知,DevOps,OpenShift 4,GitOps,openshift,gitops,devops,kubernetes,cicd,ci/cd

参考

https://blog.argoproj.io/notifications-for-argo-bb7338231604
https://github.com/redhat-developer/gitops-operator/blob/master/docs/OpenShift%20GitOps%20Usage%20Guide.md
https://developers.redhat.com/articles/2023/01/17/how-openshift-gitops-notifications-can-trigger-pipelines
https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/
https://argo-cd.readthedocs.io/en/latest/operator-manual/notifications/subscriptions/
https://github.com/argoproj/argo-cd/discussions/9655
https://wearenotch.com/email-notifications-and-github-webhooks-with-argo-cd/文章来源地址https://www.toymoban.com/news/detail-849399.html

到了这里,关于GitOps - 为 OpenShift GitOps 配置邮件通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenShift Route 的实现原理

    OpenShift 中的 Route 解决了从集群外部访问服务的需求,与 Kubernetes 中的 Ingress 类似。 OpenShift 中 Route 资源 API 定义如下: 与 Ingress 类似需要指定: host 也就是服务的域名,也就是主机地址 to route 通过该 service 选择器对接至服务背后的 endpoint 如果希望服务更安全可以通过配置

    2024年02月09日
    浏览(43)
  • openshift应用上云常见问题

    解决方式:到对应节点ping镜像仓库域名看是否能ping通,如果不能ping通,查看/etc/resolv.conf是否配置本地IP和search项,重启dnsmasq服务等。 问题原因:查看异常节点SDN的IP分配情况,如果是因为SDN释放IP异常导致IP分配满了,当前目录下IP文件会非常多。ls -l /var/lib/cni/networks/open

    2024年02月05日
    浏览(38)
  • 【GitOps系列】从零上手GitOps

    GitOps 介绍 传送门: https://blog.csdn.net/zfw_666666/article/details/126158696 如何将业务代码构建为容器镜像? 前提:需要对Docker容器技术有一定的了解。 如何将容器镜像部署到K8s? 前提:需要本地有k8s集群环境及对k8s资源对象有一定的了解。 K8s如何实现自动扩容和自愈? 1.传统的扩

    2024年02月16日
    浏览(29)
  • Debezium日常分享系列之:在 OpenShift 上部署 Debezium

    此过程用于在 Red Hat 的 OpenShift 容器平台上设置 Debezium 连接器。要在 OpenShift 上进行开发或测试,您可以使用 CodeRady 容器。 为了使容器与集群上的其他工作负载分开,请为 Debezium 创建一个专用项目。在本文档的其余部分中,将使用 debezium-example 命名空间: 对于 Debezium 部署,

    2024年02月16日
    浏览(41)
  • 【GitOps系列】使用 ArgoCD 快速打造GitOps工作流

    ArgoCD简介 官网:https://argo-cd.readthedocs.io/en/stable/ ArgoCD安装 访问ArgoCD GitOps 工作流总览 我们可以把这个完整的 GitOps 工作流分成三个部分来看。 第一部分:开发者推送代码到 GitHub 仓库,然后触发 GitHub Action 自动构建。 第二部分:GitHub Action 自动构建,它包括下面三个步骤:

    2024年02月14日
    浏览(43)
  • OpenShift 4 - 可观测性之用 OpenTelemetry+Jaeger 实现 Distributed Tracing

    《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.13 的环境中验证 说明 : 本文使用的测试应用采用的是 “手动 Instrumentation” 方式在应用代码中通过 OpenTelemetry 的 API 获取的跟踪数据。应用代码 https://github.com/rbaumgar/otelcol-demo-app/blob/main/src/main/java/org/acme

    2024年02月15日
    浏览(35)
  • OpenShift 4 - 用 Prometheus 和 Grafana 监视用户应用定制的观测指标(视频)

    《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在 OpenShift 4.13 的环境中验证 构成 OpenShift 监控功能的附件分为两部分:“平台监控组件” 和 “用户项目监控组件”。 在平台监控组件中包括:Prometheus、Thanos Querier 和 Alertmanager 三部分重要组成,这些组件是由 Cluster Monit

    2024年02月11日
    浏览(43)
  • (十六)devops持续集成开发——jenkins流水线构建之邮件通知

    本节内容主要介绍jenkins在流水线任务构建完成后的通知操作,使用jenkins的邮件通知插件完成构建任务结束的通知。一般项目发布都会通知相关的责任人,这样项目发布在出现问题时能够及时的处理。 ①在插件中心安装Email Extension邮件通知插件 ②申请一个发送邮件的邮箱服务

    2024年02月21日
    浏览(63)
  • [Gitops--5]APISIX

    Apache APISIX是一款开源的高性能,动态云原生网关.Apache APISIX当前已经覆盖了API网关,LB,Ingress,Service,Mesh等多种场景 使用Helm Chart部署Apache APISIX Ingress Controller Apache APISIX Ingress Controller目前和Apache APISIX网关是强关联的,且目前通过Apache APISIX Helm Charts同时部署Apache APISIX Gateway+Dashboard

    2024年02月02日
    浏览(39)
  • 使用 Flux 设置 GitOps

    从本文中,您将学习如何使用 Flux,它是 Kubernetes 集群中的一个 GitOps 工具。 根据您所处的环境类型或您有权访问的环境,您可以通过几种不同的方式启动和运行 Kubernetes 集群: ​ 在你的本地主机上使用 Minikube 之类的东西 ​ 在 AKS、EKS 或 GKE 等 Kubernetes 服务上 在一堆虚拟机

    2023年04月24日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包