24.云原生ArgoCD高级之钩子

云原生专栏大纲

文章目录

  • 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-wxworkannotations:# 指定钩子阶段argocd.argoproj.io/hook: PostSync# 钩子删除策略argocd.argoproj.io/hook-delete-policy: HookSucceeded
spec:template:spec:containers:- name: wxwork-notificationimage: 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: NeverbackoffLimit: 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-wxworkannotations:# 指定钩子阶段argocd.argoproj.io/hook: PostSync# 钩子删除策略argocd.argoproj.io/hook-delete-policy: HookSucceeded

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

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

相关文章

历年地震数据,shp格式,含时间、位置、类型、震级等信息

基本信息. 数据名称: 历年地震数据 数据格式: Shp 数据时间: 2023年 数据几何类型: 点 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1dzlx地震类型2zj震级3zysd震源深度(米)4jtwz…

HDMI2.1之eARC简介-Dolby Atmos和DTS:X

文章目录 eARC目的更大的带宽更高质量音频支持对象型音频与CEC(Consumer Electronics Control)的兼容性: 适应流媒体发展Dolby AtmosDTS:X高分辨率音频更高的音频位深度和采样率低延迟音频 对象型音频格式独立对象三维定位动态音场适应性和灵…

RabbitMQ(一):最新版rabbitmq安装

目录 1 简介1.1特性及好处 2 安装2.1 Ubuntu22.04 apt安装最新rabbitmq1、一键部署2、验证3、RabbitMQWeb管理界面及授权操作4、添加远程用户5、一些常用命令 2.2 Docker安装RabbitMQ - Ubuntu22.041、安装docker2、启动rabbitmq 1 简介 RabbitMQ是一个开源的遵循AMQP协议实现…

挑战杯 opencv 图像识别 指纹识别 - python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器视觉的指纹识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适…

MagicVideo-V2:多阶段高保真视频生成框架

本项工作介绍了MagicVideo-V2,将文本到图像模型、视频运动生成器、参考图像embedding模块和帧内插模块集成到端到端的视频生成流程中。由于这些架构设计的好处,MagicVideo-V2能够生成具有极高保真度和流畅度的美观高分辨率视频。通过大规模用户评估&…

Zoho Projects与Jira:中国市场的理想替代品之争?

在软件开发生命周期中,项目管理一直是一个非常重要的环节。为了更好地协作、追踪项目的进程和管理任务,许多公司选择了Jira这款著名的项目管理工具,它是个非常强大的工具,但是作为一款纯国外产品,他可能不适合中国市场…

python统计分析——t分布

参考资料:用python动手学统计学 1、t统计量 t统计量的计算公式为: 其中,为样本均值,μ为总体均值,为实际样本的无偏标准差,N为样本容量。 t统计量的公式与标准化公式类似。t统计量可以理解为对样本均值…

css3动画的三种实现方式

目录 一、是什么二、实现方式transition 实现渐变动画transform 转变动画animation 实现自定义动画 三、总结参考文献 一、是什么 CSS动画(CSS Animations)是为层叠样式表建议的允许可扩展标记语言(XML)元素使用CSS的动画的模块 …

分布式session 笔记

概念 解决方案‘ 复制 session同步&#xff0c;让集群下的服务器进行session同步&#xff0c;一种传统的服务器集群session管理机制&#xff0c;常用于服务器不多的集群环境。<br /> 集群下&#xff0c;进行session同步的服务器的session数据是相同的&#xff0c;…

【JavaScript 漫游】【007】数据类型转换

文章简介 本文为【JavaScript 漫游】专栏的第 007 篇文章&#xff0c;对 JS 数据类型转化语法进行了简记。 数据类型的转换指的是将 JS 的某一数据类型的值转换为 JS 的某一原始数据类型的值&#xff0c;也就是 number、string 和 boolean。 Number 方法强制转换为 number 类…

鲜花销售|鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现(源码+数据库+文档)

鲜花销售小程序目录 目录 基于微信小程序的鲜花销售系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、前台功能模块 2、后台功能模块 (1) 后台登录 (2) 管理员功能模块 用户管理 商家管理 鲜花信息管理 鲜花分类管理 管理员管理 系统管理 (3) 商家功…

2017年苏州大学837复试机试C/C++

2017年苏州大学复试机试 要求 要求用C/C编程&#xff1b;对程序中必要的地方进行注释。上机规则 请在电脑桌面上新建一个文件夹文件夹名为考试姓名&#xff08;中文&#xff09;&#xff1b;考试完毕后&#xff0c;将所编写的文件放在上述文件中。 第一题&#xff08;20分&…

CSS的元素显示模式

一&#xff0c;什么是元素显示模式 元素显示模式是指元素以什么方式显示&#xff0c; 作用&#xff1a;了解不同类型的标签可以更好的布局网页。 HTML元素一般分为块元素和行内元素。 1.1块元素 常见的块元素有&#xff1a;<p><ul><ol><li>,<di…

【计算机网络】HTTPS协议原理

文章目录 一、相关基础概念1.HTTPS 是什么2.什么是"加密"3.为什么要加密4.常见的加密方式5.数据摘要 && 数据指纹 二、HTTPS 的工作过程 -- 加密方式1.只使用对称加密2.只使用非对称加密3.双方都使用非对称加密4.非对称加密 对称加密5.中间人攻击6.证书7.非…

力扣144 二叉树的前序遍历 Java版本

文章目录 题目描述递归方法代码 非递归方法代码 题目描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xf…

ElementUI Data:Table 表格

ElementUI安装与使用指南 Table 表格 点击下载learnelementuispringboot项目源码 效果图 el-table.vue&#xff08;Table表格&#xff09;页面效果图 项目里el-table.vue代码 <script> export default {name: el_table,data() {return {tableData: …

蓝桥杯省赛无忧 数位DP 课件78 数位DP

01 算法概述 02 问题引入 03 算法分析 04 例题

《QDebug 2024年1月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Repeator 的 delegate 在 remove 移除时的注意事项 Qt Bug Tracker&#xff1a;https://bugreports.qt.io/browse/QTBUG-47500 Repeator 在调用 remove 函数之后&#xff0c;对应的 Item 会立即释放&#xff0c;后续就…

如何基于文档的内容实现 AI 对话功能,以 Documate 为例

前言 在 ChatGPT 出现之时&#xff0c;社区内也出现过 把 React 官方文档投喂给它 &#xff0c;然后对它进行提问的实践。但是&#xff0c;由于每次 ChatGPT 对话能接受的文本内容对应的 Token 是有上限的&#xff0c;所以这种使用方式存在一定的手动操作成本和不能复用的问题…

使用Ettus USRP X440对雷达和EW系统进行原型验证

概览 无论是保障己方平台的生存能力&#xff0c;还是扰乱敌方频谱使用&#xff0c;以电磁(EM)频谱为主导都是任务成功的主要因素。电磁频谱操作(Electromagnetic Spectrum Operation, EMSO)需要使用战术系统来监测敌方的频谱活动、定位其发射器并帮助己方制定行动计划。软件无…