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

文章目录

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资源内容

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

    复制代码
    kubectl get application <application-name> -n <namespace> -o yaml

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

java 复制代码
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

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

helm方式管理

官网案例参考:https://github.com/argoproj/argocd-example-apps

注意:在Argocd中创建应用需要选择Helm

kustomize方式管理

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

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: HEAD
    # 其他Application路径
    path: ./app-of-apps/apps
    # directory
    directory:
      recurse: false
  destination:
    server: https://kubernetes.default.svc
    namespace: default
相关推荐
阿里云云原生9 小时前
HiRoute 新版本发布:结合自己的真实工作选择最佳模型
云原生
对象存储与RustFS12 小时前
Velero 接 RustFS 实操:K8s 集群备份落到自建对象存储
后端·docker·云原生
.冰块.15 小时前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
Z21-X16 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
qq_4523962317 小时前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
分布式存储与RustFS18 小时前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
DolitD1 天前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
这个DBA有点耶1 天前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
分布式存储与RustFS2 天前
JuiceFS 接 RustFS 当数据后端:把对象存储挂成本地文件系统
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
孔令飞2 天前
很多人想学AI Infra,今天推荐一个 AI Agent / AI Infra 学习路线
云原生·go·ai编程