ArgoCD

使用 ArgoCD ApplicationSet 管理多集群

October 21, 2021
CI/CD
ArgoCD

本文翻译自 Manage More Clusters with Less Hassle, with ArgoCD Application Sets - Jonathan and Kshama ApplicationSet # Applicationset 是一种新的Kubernetes自定义资源(CR)和控制器,它与现有的 ArgoCD 一起工作。 Applicationset 是 ArgoCD 应用程序的工厂:ApplicationSet CR 描述了创建/管理的应用程序,ArgoCD 负责部署它们。 特征: 将大量 ArgoCD 应用程序作为单个单元管理 你集群的 Deployment 可以来自各种数据源的自动化和自定义: 例如,随着新的集群添加到基础架构中,添加了新的 Git Repo,将添加新的 Repo 到 Github/Gitlab 等 对外变更自动作出反应 基于外部事件的一致性是快速且可自定义的:在飞行中创建/更新/删除应用程序 Applicationset 基于 ArgoCD 应用,可利用 ArgoCD 带来的所有能力 GitOps 介绍 # Git 来源于事实 所需的软件状态在 Git 仓库中以文件形式存储 GitOps 代理将确保所需的软件状态已在运行时环境中部署 ArgoCD 介绍 # 基于 GitOps 的 K8S 的持续性传输工具。 使用 Git Repo 作为事实来源。 声明式持续性交付工具。 支持各种配置管理工具(ksonnet、jsonnet、kustomize 和 helm)。 作为 K8S 控制器和 CRD 实现。 提供具有强大的资源管理功能的 Kubernetes 仪表板。 自动同步应用程序的当前实时状态到期望状态。 ArgoCD 关键特性 # 强大、实时的网络 UI 支持多个配置管理/模板工具 多集群支持 SSO 集成 资源健康评估 自动配置漂移检测和差异 自动或手动将应用程序同步到其期望状态 自动化 CLI 和 CI 集成 审计活动 Prometheus 度量标准 GnuPG 签名验证 同步的前置/后置钩子 多租户和 RBAC 授权策略 ArgoCD Application 自定义资源 # 定义了 ArgoCD 做什么的核心实例是 Application 的 CR。 ...