25.云原生之ArgoCD-app of apps模式

文章目录

    • app of apps 模式介绍
    • app如何管理app
      • helm方式管理
      • kustomize方式管理

app of apps 模式介绍

通过一个app来管理其他app,当有多个项目要发布创建多个app比较麻烦,此时可以创建一个管理app,管理app创建后会创建其他app。比较适合项目环境迁移的场景。

App of Apps模式优点:

  1. 统一管理:通过一个主要的应用程序,你可以统一管理多个应用程序的生命周期。这样可以简化管理和操作,减少重复劳动。
  2. 集中控制:"App of Apps"应用程序充当了一个控制中心,你可以通过它来管理整个应用程序集群的状态和配置。这样可以提高集中控制的能力,并确保所有应用程序的一致性。
  3. 版本控制:通过将应用程序定义文件存储在Git仓库中,你可以轻松地跟踪和管理应用程序的版本。这样可以实现版本控制和回滚,确保应用程序的可追溯性和可控性。
  4. 多环境支持:"App of Apps"模式可以支持多个环境(如开发、测试和生产环境)的部署。通过在主要应用程序中定义不同环境的应用程序配置,可以轻松地在不同环境中部署和管理应用程序。

app如何管理app

  1. 查看配置app对应的k8s资源内容

    kubectl get applications --all-namespaces
    
  2. 查看应用程序资源的内容:

    kubectl get application <application-name> -n <namespace> -o yaml
    

核心配置如下,下述配置其实就是在ArgoCD创建应用对应的配置

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: app1namespace: argocd
spec:destination:namespace: directory-guestbook-1server: https://kubernetes.default.svcproject: defaultsource:path: guestbookrepoURL: https://gitee.com/gmkk/argocd-example-apps.gittargetRevision: maindirectory:recurse: truesyncPolicy:syncOptions:- CreateNamespace=true

管理app通过配置文件描述,有helm和kustomize方式,如下:

helm方式管理

官网案例参考:https://github.com/argoproj/argocd-example-apps
image.png
注意:在Argocd中创建应用需要选择Helm
image.png

kustomize方式管理

案例参考:https://gitee.com/gmkk/argocd-example-apps
image.png
rootapp:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: root-applicationnamespace: argocd
spec:project: defaultsource:repoURL: https://gitee.com/gmkk/argocd-example-apps.gittargetRevision: HEAD# 其他Application路径path: ./app-of-apps/apps# directorydirectory:recurse: falsedestination:server: https://kubernetes.default.svcnamespace: default

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

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

相关文章

新公司实习有感

转眼来到腾娱互动科技有限公司已经半年多&#xff0c;记录一下目前的感受。首先先介绍一下这个公司&#xff0c;可能看到“腾”字你已经想到了&#xff0c;没错&#xff0c;这是腾讯全资的子公司&#xff0c;定位跟腾讯云智类似&#xff0c;本质是降本增效的产物。腾娱主要是负…

【Power Platform】实现对SharePoint文档库中上传的文件进行审批

这次要分享的案例还是来自于我们客户的一个新需求。 我们这个客户主要是在使用SharePoint的List来搭建申请单&#xff0c;然后对申请单进行审批&#xff0c;但由于我们之前给客户提出的生成PDF打印件的方案&#xff0c;是需要先在SharePoint或OneDrive中放一个文档模板的&…

面试中会遇到的VUE问题

Vue.js 是一个非常流行的 JavaScript 框架&#xff0c;用于构建用户界面。下面我列出了100个关于Vue.js的问题&#xff0c;这些问题涵盖了从基础知识到高级概念的各个方面。这些问题可以用来测试你的Vue.js知识水平&#xff0c;或者作为学习和复习的材料。 基础问题 Vue.js 是…

【python】用keyboard进行键盘监控

下载安装 pip install keyboard -i https://pypi.tuna.tsinghua.edu.cn/simple 按键的表达 #单个字母数字 a 1 #其他按键 ‘tab’ alt f1 #方向键 up down left right #按键组合 ab 监听的方法 wait(按键)#停止程序等待用户按键 add_hotkey(按键,函数,arge(函数需要传递的参数)…

2024 高级前端面试题之 HTTP模块 「精选篇」

该内容主要整理关于 HTTP模块 的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 HTTP模块精选篇 1. HTTP 报文的组成部分2. 常见状态码3. 从输入URL到呈现页面过程3.1 简洁3.2 详细 4. TCP、UDP相关5. HTTP2相关6. https相关7. WebSocket的…

作业帮面试题汇总

1. rwmutex与Mutex 的区别 sync.RWMutex&#xff08;读写互斥锁&#xff09;和sync.Mutex&#xff08;互斥锁&#xff09;都是Go语言标准库中用于并发控制的数据结构&#xff0c;但它们在功能上有显著的区别&#xff1a; 互斥性&#xff1a; sync.Mutex&#xff1a;提供了一种独…

计算存储设备(Computational Storage Drive, CSD)

随着云计算、企业级应用以及物联网领域的飞速发展&#xff0c;当前的数据处理需求正以前所未有的规模增长&#xff0c;以满足存储行业不断变化的需求。这种增长导致网络带宽压力增大&#xff0c;并对主机计算资源&#xff08;如内存和CPU&#xff09;造成极大负担&#xff0c;进…

网络协议与攻击模拟_14DNS欺骗

DNS欺骗就是利用某种方式将我们访问的域名解析到其他服务器上&#xff0c;从而使得我们无法正常访问到原本我们想要访问的网站。 一、DNS欺骗过程 首先在windows server 2016虚拟机上搭建网站服务&#xff0c;kali作为攻击机从而实现中间人攻击&#xff0c;使用ettercap工具的…

构造函数 | 初始化列表 | 拷贝构造 | 赋值运算符重载

文章目录 1.类的6个默认成员函数2.构造函数2.1基本概念和用法2.2初始化列表2.3explicit关键字 3.拷贝构造函数4.重载赋值运算符 1.类的6个默认成员函数 如果定义一个空类&#xff0c;其实并不是什么都没有&#xff0c;编译器会默认生成6个默认的成员函数&#xff01;默认成员函…

从源代码看Chrome 版本号

一直以来都是用Chrome 浏览器&#xff0c;但是看到Chrome 点分4 组数据的表达方式&#xff0c;总是感觉怪怪的&#xff0c;遂深入源代码了解她的版本号具体表示的内容 chrome 浏览器中显示的版本号 源代码中的版本号标识 版本号文件位于 chrome/VERSION &#xff0c; 看到源代…

网络流数据集处理(深度学习数据处理基础)

一、数据集处理 处理数据集是一个文件夹 一个文件夹处理的&#xff0c;将原网络流数据集 放入一个文件夹 处理转换成 Json文件。&#xff08;数据预处理&#xff09;然后将这些文件处理成目标文件格式 再分割成训练集和测试集。每次运行只会处理一个文件夹。 运行train.py 导入…

Unity_PackageManager缺失

Unity_PackageManager缺失 Unity早期版本不带PakageManager&#xff0c;或是人为因素造成PakageManager缺失。 关闭Unity工程&#xff0c;在项目文件下Packages文件夹里打开manifest.json&#xff0c;修改添加一行&#xff1a; "com.unity.package-manager-ui": &q…

Windows10 安装 OpenSSH 配置 SFTP服务器

1、下载 https://github.com/PowerShell/Win32-OpenSSH/releases 2、默认安装 3、创建用户 4、修改配置文件 C:\ProgramData\ssh\sshd_config# 最后一行后面加入 ForceCommand internal-sftp# 设置用户登录后默认目录 Match User sftpuser ChrootDirectory C:\SFTP# Disable…

进程信号-

一.信号概念 信号是进程之间事件异步通知的一种方式&#xff0c;属于软中断。 二.信号的产生 1.通过键盘进行信号的产生。&#xff08;1-31多数都是杀掉进程&#xff09; &#xff08;ctrl c&#xff1a;向前台进程发送2号信号&#xff0c;杀掉进程&#xff09; &#xff0…

基于JAVA的宠物管理系统

技术架构&#xff1a; Servlet JSP MySQL 有需要该项目的小伙伴可以私信我你的Q。 功能介绍&#xff1a; 系统主要分为前台和后台两大模块 前台主要由用户体验使用: 用户登录 注册 查找商品 商品类别等功能导航&#xff1b; 后台…

基于 Echarts 的 Python 图表库:Pyecahrts交互式的K线图(股票)

目录 一、K线图的介绍 二、K线图的使用场景 1. 趋势分析 2. 支撑与阻力 3. 价格反转 4. 交易信号 5. 波动性分析 三、Pyecharts绘制K线图 四、总结 一、K线图的介绍 K线图&#xff08;K-Line Chart&#xff09;是用于显示金融市场价格走势的一种图表形式&#xff0c;主…

Github 2024-02-03 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-03统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目6C项目1TypeScript项目1JavaScript项目1PowerShell项目1Rust项目1 MLflow: 机器学习生命周期平台 …

代码随想录day14 Java版 二叉树部分

今天开始刷二叉树的题目&#xff0c;发现大多数都是在昨天的遍历的基础上的变式 226.翻转二叉树 根据题目描述模拟整个交换过程&#xff0c;发现非常像前序遍历的递归方式&#xff1a;每次先将当前节点的左右孩子互换&#xff0c;再递归左右孩子&#xff0c;当节点为空的时候…

Codeforces Round 734 (Div. 3)B2. Wonderful Coloring - 2(贪心构造实现)

思路&#xff1a; 分类讨论&#xff1a; 当一个数字出现的次数大于等于k&#xff0c;那么最多有k个能被染色&#xff0c; 当一个数字出现的次数小于k&#xff0c;南那么这些数字都可能被染色 还有一个条件就是需要满足每个颜色的数字个数一样多&#xff0c;这里记出现次数小于k…

C#学习笔记_继承

基本概念 继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类&#xff0c;这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。 当创建一个类时&#xff0c;程序员不需要完全重新编写新的数据成员和成员函数&#xff0…