24.云原生之ArgoCD钩子

news2024/11/15 14:24:01

云原生专栏大纲

文章目录

  • Argo CD钩子
    • 如何定义钩子
    • 钩子删除策略

Argo CD钩子

Argo CD 是一个用于部署和管理 Kubernetes 应用程序的工具,它提供了一种声明式的方式来定义和自动化应用程序的部署过程。Argo CD 钩子(Hooks)是一种机制,允许在部署过程中执行自定义的操作。
image.png
Argo CD 钩子可以在以下几个阶段执行:

  1. PreSync 钩子:在同步操作之前执行。可以用于在同步应用程序之前执行一些准备工作,例如创建必要的资源或检查先决条件。(可以在部署应用前,执行数据库迁移或初始化)
  2. Sync 钩子:在同步操作期间执行。可以用于在同步应用程序期间执行一些操作,例如修改配置、应用变换或执行其他自定义逻辑。
  3. PostSync 钩子:在同步操作之后执行。可以用于在同步应用程序之后执行一些清理工作或触发其他操作。(集成监控和健康检查等)
  4. SyncFaild钩子:在同步失败后执行,可以数据清理、逻辑终结、应用回滚等操作

如何定义钩子

参考https://github.com/ppsite/argocd-in-action
image.png

argocd.argoproj.io/hook: PreSync定义钩子执行阶段,多个阶段用","逗号分隔

apiVersion: batch/v1
kind: Job
metadata:
  name: app-wxwork
  annotations:
    # 指定钩子阶段
    argocd.argoproj.io/hook: PostSync
    # 钩子删除策略
    argocd.argoproj.io/hook-delete-policy: HookSucceeded
spec:
  template:
    spec:
      containers:
      - name: wxwork-notification
        image: curlimages/curl
        # 下述钩子通知企业微信发布完成
        command:
          - "curl"
          - "--request"
          - "POST"
          - "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b291a492-62be-406a-9b65-13cd2061045b"
          - "--header"
          - "'Content-Type: application/json'"
          - "--data-raw"
          - "{\"msgtype\": \"text\",\"text\": {\"content\": \"hello world\"}}"
      restartPolicy: Never
  backoffLimit: 1

钩子删除策略

在 Argo CD 中,可以使用钩子(hook)来在应用程序部署的不同阶段执行自定义操作。钩子可以用于在部署之前或之后运行脚本、命令或其他操作。当应用程序被删除时,也可以使用钩子来执行清理操作。删除钩子的策略可以通过 Argo CD 应用程序的配置进行设置。
Argo CD 提供了以下几种钩子删除策略选项:

  1. BeforeHookCreation: 在创建钩子之前删除旧的钩子。这是默认的删除策略,它会在创建新钩子之前删除先前的钩子。
  2. HookSucceeded: 仅当钩子成功执行后才删除旧的钩子。这种策略适用于需要确保钩子成功执行后再删除旧钩子的情况。
  3. HookFailed: 仅当钩子执行失败后才删除旧的钩子。这种策略适用于需要在钩子执行失败时保留旧钩子的情况。
  4. HookSucceededOrFailed: 无论钩子成功还是失败,都删除旧的钩子。这种策略适用于无论钩子执行结果如何,都希望删除旧钩子的情况。

钩子删除策略可以在 Argo CD 应用程序的配置文件(例如 YAML 文件)中设置。例如,以下是一个应用程序配置文件的示例,其中设置了钩子删除策略为 HookSucceeded:

apiVersion: batch/v1
kind: Job
metadata:
  name: app-wxwork
  annotations:
    # 指定钩子阶段
    argocd.argoproj.io/hook: PostSync
    # 钩子删除策略
    argocd.argoproj.io/hook-delete-policy: HookSucceeded

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1429646.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL-- if()函数 简单明了

if 主要有:IF函数嵌套和IF聚合函数 两类,主要是用来根据条件返回不同值。 基本语法为; IF(条件表达式,值1,值2)如果条件表达式为True,返回值1,为False,返回值2.返回值可以是任何值,比如:数值,…

消息中间件之RocketMQ源码分析(五)

消费进度保存机制 消费者启动时会同时启动位点管理器,RocketMQ设计了远程位点管理和本地位点管理 两种位点管理方式. 集群消费时,位点由客户端提交给Broker保存. 广播消费时,位点保存在消费者本地磁盘上 OffsetStore接口核心方法 void load(…

重写Sylar基于协程的服务器(4、协程调度模块的设计)

重写Sylar基于协程的服务器(4、协程调度模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日…

智慧文旅:驱动文化与旅游融合发展的新动力

随着科技的快速发展和人们生活水平的提高,文化和旅游的融合成为了时代发展的必然趋势。智慧文旅作为这一趋势的引领者,通过先进的信息技术手段,推动文化与旅游的深度融合,为产业的发展注入新的活力。本文将深入探讨智慧文旅如何成…

被人疯狂吐槽的预制菜,居然是资本看重的“万亿级”市场?

被人疯狂吐槽的预制菜,居然是资本看重的“万亿级”市场? 文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 大家是不是以为只有被天天吐槽难吃的外卖和小饭店,才会用预制菜,…

【LeetCode】17. 电话号码的字母组合(中等)——代码随想录算法训练营Day25

题目链接:17. 电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1&#xff…

基于springboot校园二手书交易管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括乐校园二手书交易管理系统的网络应用,在外国二手书交易管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。乐校园二手书交易管理系统…

dubbo+sentinel最简集成实例

说明 在集成seata后,下面来集成sentinel进行服务链路追踪管理~ 背景 sample-front网关服务已配置好 集成 一、启动sentinel.jar 1、官网下载 选择1:在本地启动 nohup java -Dserver.port8082 -Dcsp.sentinel.dashboard.serverlocalhost:8082 -Dp…

【C语言】数组的应用:扫雷游戏(包含扩展和标记功能)附完整源代码

这个代码还是比较长的,为了增加可读性,我们还是把他的功能分装到了test.c,game.c,game.h里面。 扫雷游戏的规则相信大家来阅读本文之前已经知晓了,如果点到雷就输了,如果不是雷,点到的格子会显…

Kotlin快速入门系列8

Kotlin的泛型 与Java一样,Kotlin也提供泛型。泛型,即 "参数化类型",将类型参数化,可以用在类,接口,方法上。可以为类型安全提供保证,消除类型强转的烦恼。声明泛型类的格式如下&…

关于反爬虫的的概述

目录 前言 一、验证码验证 二、IP限制 三、User-Agent限制 四、动态页面加载 总结 前言 反爬虫是一种防止网站被自动程序(爬虫)访问和抓取数据的技术手段。在网络爬虫的发展和使用过程中,有一部分爬虫是用于非法获取网站数据、侵犯隐私…

重写Sylar基于协程的服务器(5、IO协程调度模块的设计)

重写Sylar基于协程的服务器(5、IO协程调度模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、…

【C/C++ 10】扫雷小游戏

一、题目 写一个扫雷小游戏,每次输入一个坐标,若该处是地雷,则游戏失败,若该处不是地雷,则显示周围地雷数量,若扫除全部非地雷区域,则扫雷成功。 二、算法 设置两张地图(二维数组&…

校园墙表白墙系统uniapp微信小程序

配置文件 (自动编号、配置参数名称、配置参数值); 前端开发:vue 语言:javapythonnodejsphp均支持 运行软件:idea/eclipse/vscode/pycharm/wamp均支持 框架支持:Ssm/django/flask/thinkphp/springboot/springcloud均支持 数据库 mysql 数据库工具&#x…

洛谷P1002 过河卒(简单DP)

[NOIP2002 普及组] 过河卒 题目描述 棋盘上 A A A 点有一个过河卒,需要走到目标 B B B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为…

PKG系统安装包及IPSW固件:MacOS 11-14 Sonoma 正式版

MacOS 14 Sonoma,为提高生产力和创造力带来了全新的功能,有了更多使用小部件和令人惊叹的新屏幕保护程序进行个性化设置的方法,对Safari浏览器和视频会议进行了重大更新,以及优化的游戏体验——Mac体验比以往任何时候都更好。 mac…

2024美赛预测算法 | 回归预测 | Matlab基于RIME-LSSVM霜冰算法优化最小二乘支持向量机的数据多输入单输出回归预测

2024美赛预测算法 | 回归预测 | Matlab基于RIME-LSSVM霜冰算法优化最小二乘支持向量机的数据多输入单输出回归预测 目录 2024美赛预测算法 | 回归预测 | Matlab基于RIME-LSSVM霜冰算法优化最小二乘支持向量机的数据多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效…

计算huggingface模型占用硬盘空间的实战代码

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

【Java程序设计】【C00232】基于Springboot的抗疫物资管理系统(有论文)

基于Springboot的抗疫物资管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的抗疫物资管理系统 用户主要分为管理员和普通用户 管理员: 管理员可以对后台数据进行管理、拥有最高权限、具体权限有…

猫用空气净化器好吗?好用的养猫宠物空气净化器品牌推荐

作为一个养猫五年的资深铲屎官,我对如何轻松快乐地养猫有一些心得。猫咪每天在家里奔跑,导致家里经常会出现“猫毛雪”,沙发、地板和衣服都成了重灾区。在除猫毛的问题上,我真的尝试了各种方法,几乎用上了所有的技能。…