当前位置: 首页 > news >正文

【GitOps】Argo CD app of apps

Argo CD app of apps

文章目录

  • Argo CD app of apps
    • 一、什么是App Of Apps
      • 1.1、创建App Of Apps
      • 1.2、创建子项目app
      • 1.3、创建部署资源清单
      • 1.4、创建Application
      • 1.5、Web UI界面查看

一、什么是App Of Apps

  • 你可以创建一个应用程序来创建其他应用程序,而其他应用程序又可以创建其他应用程序。这允许你以声明方式管理一组可以协同部署和配置的应用程序。这就是App Of Apps
  • 官方文档:https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#app-of-apps

1.1、创建App Of Apps

# 项目结构
[root@master gitops-appofapps]# tree
.
├── application1
│   ├── deploy_nginx.yaml
│   └── service_nginx.yaml
├── application2
│   ├── deploy_httpd.yaml
│   └── service_httpd.yaml
├── application3
│   ├── deploy_tomcat.yaml
│   └── service_tomcat.yaml
├── apps
│   ├── application1.yaml
│   ├── application2.yaml
│   └── application3.yaml
└── root-app└── root-application.yaml5 directories, 10 files
  • 项目仓库:https://gitee.com/wzhcjt/argo-cd-apps.git

  • 新建root-application.yaml

[root@master root-app]# cat root-application.yaml 
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: root-applicationnamespace: argocd
spec:project: defaultsource:repoURL: http://192.168.93.102/root/gitops-appofapps.gittargetRevision: mainpath: apps# directorydirectory:recurse: falsedestination:server: https://192.168.93.145:6443namespace: default

1.2、创建子项目app

  • application1
[root@master apps]# cat application1.yaml 
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: application1namespace: argocd
spec:destination:namespace: application1server: https://192.168.93.145:6443project: defaultsource:path: application1repoURL: http://192.168.93.102/root/gitops-appofapps.gittargetRevision: maindirectory:recurse: truesyncPolicy:syncOptions:- CreateNamespace=true
  • application2
[root@master apps]# cat application2.yaml 
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: application2namespace: argocd
spec:destination:namespace: application2server: https://192.168.93.145:6443project: defaultsource:path: application2repoURL: http://192.168.93.102/root/gitops-appofapps.gittargetRevision: maindirectory:recurse: truesyncPolicy:syncOptions:- CreateNamespace=true
  • application3
[root@master apps]# cat application3.yaml 
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:name: application3namespace: argocd
spec:destination:namespace: application3server: https://192.168.93.145:6443project: defaultsource:path: application3repoURL: http://192.168.93.102/root/gitops-appofapps.gittargetRevision: maindirectory:recurse: truesyncPolicy:syncOptions:- CreateNamespace=true

1.3、创建部署资源清单

  • application1
[root@master gitops-appofapps]# ls application1
deploy_nginx.yaml  service_nginx.yaml
  • application2
[root@master gitops-appofapps]# ls application2
deploy_httpd.yaml  service_httpd.yaml
  • application3
[root@master gitops-appofapps]# ls application3
deploy_tomcat.yaml  service_tomcat.yaml

1.4、创建Application

[root@master gitops-appofapps]# cd root-app/
[root@master root-app]# kubectl apply -f root-application.yaml 
application.argoproj.io/root-application created

1.5、Web UI界面查看

  • 点击SYNC
    在这里插入图片描述

  • 点击SYNC按钮同步后,自动新建了3Application服务
    在这里插入图片描述

  • 3Application服务分别点击SYNC按钮进行同步
    在这里插入图片描述

  • 使用kubectl查看集群详细信息

# 查看 Namespace
[root@master root-app]# kubectl get ns
NAME              STATUS   AGE
application1      Active   12m
application2      Active   12m
application3      Active   12m
argocd            Active   43m
default           Active   28d
ingress-nginx     Active   41m
kube-node-lease   Active   28d
kube-public       Active   28d
kube-system       Active   28d
# 查看 3 个 Application服务状态
[root@master root-app]# kubectl get pod,svc -n application1
NAME                                    READY   STATUS    RESTARTS   AGE
pod/nginx-deployment-54b6f7ddf9-kfzqd   1/1     Running   0          13mNAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/nginx   ClusterIP   10.107.128.102   <none>        801/TCP   13m
[root@master root-app]# kubectl get pod,svc -n application2
NAME                                    READY   STATUS    RESTARTS   AGE
pod/httpd-deployment-5fcbcd9667-g8dct   1/1     Running   0          13mNAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/httpd   ClusterIP   10.111.121.145   <none>        802/TCP   13m
[root@master root-app]# kubectl get pod,svc -n application3
NAME                                     READY   STATUS    RESTARTS   AGE
pod/tomcat-deployment-865c47d857-26tbn   1/1     Running   0          13mNAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/tomcat   ClusterIP   10.105.167.20   <none>        803/TCP   13m
http://www.dtcms.com/a/517074.html

相关文章:

  • 怎么建网站青州问枫深圳网站建设服务商
  • 深圳网站建设金瓷网络怎么制作视频短片加字幕带说话
  • GC 的判定方法
  • 网站建设 鼠标英文手机商城网站建设
  • 彩票网站怎么做收银网站统计代码放哪里
  • 惠州网站设计方案响应式网站可以做缩放图吗
  • 深度学习的一些基本概念
  • 移动端性能监控探索:iOS RUM SDK 技术架构与实践
  • seo外链网站大全汕头市网络优化推广平台
  • 番禺区网站建设flash网站管理系统
  • Python+Requests接口测试教程(1):Fiddler抓包工具
  • 手机端网站怎么做的网站建设海南
  • UART、RS232、RS485、I2C 的区别及工程应用场景
  • 网站多数关键词做六个网站静态页多少钱
  • 高密网站开发公司做网络营销
  • 数据科学每日总结--Day2--区块链与模型了解
  • wordpress 友情链接小工具seo服务收费
  • 微信生态新机遇:视频号推客模式助力商家突围
  • Product Hunt 每日热榜 | 2025-10-22
  • 淘宝客网站免费做网站设计什么价位
  • 重庆品牌服装网站建设大发快三网站自做
  • 智冠宝企业网站管理系统如何免费制作一个网站
  • 网站的信息架构东海县建设局网站
  • 代码模版 网站镇江网页制作
  • 收费网站空间单位网站建设的重要性
  • 做不做我女朋友的网站上海的公司
  • 【FPGA】设计流程——Verilog输入
  • UV工具安装配置使用教程
  • 餐饮SaaS系统:一站式智慧餐饮解决方案,赋能多场景运营
  • 在网盘上怎么做自己的网站阜宁企业网站建设