首页 > 其他分享 >Argo CD App Of Apps

Argo CD App Of Apps

时间:2023-08-16 17:23:22浏览次数:40  
标签:default Apps App apps CD ui argocd directory guestbook

Argo CD App of Apps

什么是 App of Apps

您可以创建一个应用程序来创建其他应用程序,而其他应用程序又可以创建其他应用程序。这允许您以声明方式管理一组可以协同部署和配置的应用程序。这就是 App of Apps

官方文档:https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#app-of-apps

创建 App of Apps

项目仓库:https://gitee.com/gmkk/argocd-example-apps/tree/main/app-of-apps

新建 rootapp.yaml 配置文件

## rootapp.yaml

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: root-application
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://gitee.com/gmkk/argocd-example-apps.git
    targetRevision: main
    path: ./app-of-apps/apps
    # directory
    directory:
      recurse: false
  destination:
    server: https://kubernetes.default.svc
    namespace: default

  # syncPolicy:
  #   automated: # automated sync by default retries failed attempts 5 times with following delays between attempts ( 5s, 10s, 20s, 40s, 80s ); retry controlled using `retry` field.
  #     prune: true # Specifies if resources should be pruned during auto-syncing ( false by default ).
  #     selfHeal: true # Specifies if partial app sync should be executed when resources are changed only in target Kubernetes cluster and no git change detected ( false by default ).
  #     allowEmpty: false # Allows deleting all application resources during automatic syncing ( false by default ).

在代码仓库 https://gitee.com/gmkk/argocd-example-apps.git ./app-of-apps/apps 目录下,准备好我们需要创建的 APP 服务,详细如下:

  • APP1
## app1.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: app1
  namespace: argocd
spec:
  destination:
    namespace: directory-guestbook-1
    server: https://kubernetes.default.svc
  project: default
  source:
    path: guestbook
    repoURL: https://gitee.com/gmkk/argocd-example-apps.git
    targetRevision: main
    directory:
      recurse: true
  syncPolicy:
    syncOptions:
      - CreateNamespace=true
  • APP2
## app2.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: app2
  namespace: argocd
spec:
  destination:
    namespace: directory-guestbook-2
    server: https://kubernetes.default.svc
  project: default
  source:
    path: guestbook
    repoURL: https://gitee.com/gmkk/argocd-example-apps.git
    targetRevision: main
    directory:
      recurse: true
  syncPolicy:
    syncOptions:
      - CreateNamespace=true
  • APP3
## app3.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: app3
  namespace: argocd
spec:
  destination:
    namespace: directory-guestbook-3
    server: https://kubernetes.default.svc
  project: default
  source:
    path: guestbook
    repoURL: https://gitee.com/gmkk/argocd-example-apps.git
    targetRevision: main
    directory:
      recurse: true
  syncPolicy:
    syncOptions:
      - CreateNamespace=true

img

Argo CD 中创建 APP

[root@node argocd]# kubectl apply -f rootapp.yaml
application.argoproj.io/root-application created

web UI 界面查看:

img

点击 Sync 按钮同步,自动新建了 3APP 服务

img

3APP 服务分别点击 Sync 按钮进行同步

img

使用 kubectl 查看集群详细信息

## 查看 NameSpace
[root@node argocd]# kubectl get ns
NAME                    STATUS   AGE
argo-rollouts           Active   5d23h
argocd                  Active   12d
default                 Active   15d
dev                     Active   6d5h
devops                  Active   15d
directory-guestbook-1   Active   49s
directory-guestbook-2   Active   46s
directory-guestbook-3   Active   43s
kube-node-lease         Active   15d
kube-public             Active   15d
kube-system             Active   15d

## 查看 directory-guestbook-1 服务信息
[root@node argocd]# kubectl get all -n directory-guestbook-1 
NAME                                    READY   STATUS    RESTARTS   AGE
pod/guestbook-ui-56f57db4f-lpckf        1/1     Running   0          63s
pod/guestbook-ui-56f57db4f-r6cbz        1/1     Running   0          63s
pod/guestbook-ui-56f57db4f-wszq7        1/1     Running   0          63s
pod/guestbook-ui-new-54557b8c69-4v569   1/1     Running   0          63s
pod/guestbook-ui-new-54557b8c69-nr7xd   1/1     Running   0          63s
pod/guestbook-ui-new-54557b8c69-vt5h8   1/1     Running   0          63s

NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/guestbook-ui       ClusterIP   10.68.83.65     <none>        80/TCP    63s
service/guestbook-ui-new   ClusterIP   10.68.249.216   <none>        80/TCP    63s

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/guestbook-ui       3/3     3            3           63s
deployment.apps/guestbook-ui-new   3/3     3            3           63s

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/guestbook-ui-56f57db4f        3         3         3       63s
replicaset.apps/guestbook-ui-new-54557b8c69   3         3         3       63s

## 查看 directory-guestbook-2 服务信息
[root@node argocd]# kubectl get all -n directory-guestbook-2
NAME                                    READY   STATUS    RESTARTS   AGE
pod/guestbook-ui-56f57db4f-96n2r        1/1     Running   0          64s
pod/guestbook-ui-56f57db4f-f25xk        1/1     Running   0          64s
pod/guestbook-ui-56f57db4f-lmmwn        1/1     Running   0          64s
pod/guestbook-ui-new-54557b8c69-d6q7j   1/1     Running   0          64s
pod/guestbook-ui-new-54557b8c69-gt4wk   1/1     Running   0          64s
pod/guestbook-ui-new-54557b8c69-v2jxf   1/1     Running   0          64s

NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/guestbook-ui       ClusterIP   10.68.242.246   <none>        80/TCP    64s
service/guestbook-ui-new   ClusterIP   10.68.135.130   <none>        80/TCP    64s

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/guestbook-ui       3/3     3            3           64s
deployment.apps/guestbook-ui-new   3/3     3            3           64s

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/guestbook-ui-56f57db4f        3         3         3       64s
replicaset.apps/guestbook-ui-new-54557b8c69   3         3         3       64s

标签:default,Apps,App,apps,CD,ui,argocd,directory,guestbook
From: https://www.cnblogs.com/evescn/p/17635694.html

相关文章

  • APP开发后如何上架?
    在移动互联网时代,开发一款功能丰富、用户友好的移动应用程序(APP)是许多人的梦想。然而,开发一款优秀的APP只是成功的一半,将其成功上架到应用商店也是至关重要的一步。本文将详细介绍app开发后如何上架,帮助您将自己的APP呈现给广大用户。1.选择应用商店:首先,您需要决定将您的APP上架到......
  • 赏帮赚系统源码平台APP开发
      近年来,赏金悬赏任务平台已经成为了互联网创业的热门领域之一。赏金悬赏平台通过将赏金分发给赏金猎人,让赏金猎人通过自己的技能和能力来获取赏金,从而实现双赢的局面。赏帮赚系统源码平台APP作为一款专业的赏金悬赏平台,其功能强大,使用简单,深受用户喜爱。  一、悬赏发布功......
  • 赏帮赚app任务源码
      人们的生活方式和消费观念也发生了翻天覆地的变化。越来越多的人选择通过互联网进行购物、娱乐、学习等消费行为。在这个过程中,赏帮赚APP作为一款新型的任务平台应运而生,成为了许多人赚取额外收入的选择之一。本文将对赏帮赚APP的任务源码功能进行分析与探讨,以了解其背后的技......
  • 在core项目下通过Dapper对mysql执行批量操作 报at MySql.Data.MySqlClient.MySqlComma
     在core项目下通过Dapper对mysql执行批量操作一直报异常  报PushService=>UpdateKeyWordProductCountTask=>错误信息:Fatalerrorencounteredduringcommandexecution.;;;堆栈信息:atMySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehaviorbehavior)at......
  • 苹果app开发成本是否比安卓高?
    移动应用程序(APP)已经成为现代生活中不可或缺的一部分,而iOS和Android平台则是两个最主要的app发布平台。在开发一个APP时,成本是一个重要的考虑因素,而在苹果(iOS)和安卓(Android)这两个主要平台之间,是否存在开发成本的差异呢?让我们来深入探讨一下。开发工具和语言:ios开发:苹果的iOS平台使......
  • uniapp项目的一些点
     1.应用需要发布到不同服务器,也即不同的登陆方式,接口地址、文件地址不一致。解决:需要一台公共服务器,在切换登陆方式的时候在这个公共服务器获取信息,拿到不同登录方式的前缀路径。在切换后将前缀地址设置为接口地址和前缀地址。2.app发布到应用商店2.1.使用uniapp......
  • uniapp各端发布
    uniapp打包安卓app在代码里面给axios接口配置后端接口地址后,在hbuilderx里面选用云打包,输入证书密码进行打包(证书生成在uniapp后台)uniapp打包iosapp(ios需要开发者账号并且需要上传ipa到apple的渠道)在hbuildx里面选用云打包,输入设定的密码进行打包(证书生成在ios开发平台......
  • [Microsoft Azure] 配置Azure App Service仅虚拟内网访问
    本文将介绍如何配置AzureAppService以仅允许虚拟内网访问,从而提高安全性和隐私性。我们将讨论配置过程的不同步骤以及注意事项,以便您可以轻松实现更安全的应用部署。 随着云计算的普及,越来越多的企业和开发者开始将其应用部署到云平台上。在这种情况下,如何确保应用安全性和......
  • DAMA-CDGA/CDGP数据治理认证8月20日线上开班
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 2023年9月杭州/北京/深圳DAMA-CDGA/CDGP认证考试报名
    据DAMA中国官方网站消息,2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启,相关事宜通知如下: 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA)数据治理专家(CertifiedDataGovernanceProfessional,CDGP) 考试时间: CDGA:2023......