ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理

简介: ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。

【阅读原文】戳:ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理

Argo CD是适用于Kubernetes的声明式GitOps持续交付工具,它是CNCF社区的毕业项目。Application是其核心的资源,声明将指定Git仓库中的应用下发到指定的集群中。但是每个Application同时只能发送到1个集群,所以在多集群GitOps场景下通过ArgoCD Application发布应用,需要大量的人力成本。因此Argo CD发布了ApplicationSet,通过一个模板生成多个Applicaiton。但是ArgoCD UI一直没有推出控制台管理ApplicationSet的能力,通过ArgoCD CLI或者kubectl管理ApplicationSet并不直观,也不够方便。

 

ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。

 

 

 

 

什么是Argo CD ApplicationSet ?

 

 

 

 

ApplicationSet是Argo CD中用来实现跨多个集群自动化和更加灵活地管理Applications的能力,它简化了管理,使得应对大规模Applicaiton和大量集群更加容易。可以实现使用一个Kubernetes manifest从1个或者多个Git仓库中部署多个应用到多个Kubernetes集群中:

 

部署一个应用到多个集群

 

部署多个应用到一个集群

 

部署多个应用到多个集群

 

ApplicationSet的功能由ApplicationSet CRD和ApplicationSet Controller实现,Controller通过ApplicationSet CRD定义的模板和generators来生成多个Application。Generators负责生成参数,填充到模板中,Argo CD提供了多种generator应用不同场景,下面列出常用的几个generator:

 

List generator:根据固定的key-value列表生成参数

 

Cluster generator:根据Argo CD中定义的集群列表自动生成集群参数

 

Git generator:根据Git仓库的文件或目录结构生成参数

 

Matrix generator:可以组合2个generator生成参数

 

 

 

 

ACK One GitOps

 

 

 

 

ACK One GitOps提供了面向多云、多集群、混合云的多集群应用GitOps持续交付能力。通过全托管开源的Argo CD项目,集成ACK One的多集群、阿里云的RAM SSO等能力,为您提供开箱即用的Argo CD能力,和完整、安全的多集群应用GitOps CD体验,快速、一致、安全地实现混合云、多集群下的应用持续部署。

 

ACK One GitOps优势如下:

 

简化应用跨集群部署

 

- 支持控制台管理ApplicationSet、原生ArgoCD UI体验、阿里云RAM SSO ArgoCD UI

 

- 关联集群自动创建ArgoCD cluster secret

 

- 专属ArgoCD控制台域名,支持CNAME到客户自己的域名

 

提升高可用性:高可用ArgoCD,支持大规模应用

 

基于阿里云RAM的多租管理

 

提升可观测性

 

- ArgoCD的大盘监控和告警配置,可以查看ArgoCD的metrics和Application Controller等资源使用,及时了解情况。

 

- 支持ArgoCD日志采集和控制台查看

 

 

 

 

ACK One多集群应用控制台管理ApplicationSet

 

 

 

当前Argo CD社区尚未支持通过UI来管理ApplicationSet,这对大规模应用管理场景并不友好,运维难度和成本增加,如:

 

可能需要既使用Argo CD CLI或者kubectl来管理ApplicationSet,又需要用Argo CD UI来查看和管理Applicaiton。

 

编写ApplicationSet yaml时需要先手动获取集群名称或者标签,然后再填入yaml中。

 

ACK One为了进一步提升用户体验,实现了多集群应用控制台来管理Argo CD ApplicationSet。

 

 

 

创建ApplicationSet

 

 

ACK One多集群应用控制台支持快捷创建YAML创建两种方式创建ApplicationSet,两种方式的改动是互相联动的:

 

1. 快捷创建为您提供快速将应用发布到1个或多个集群的能力。

 

可以通过ArgoCD Cluster名称和标签来选择集群,并在高级配置中可配置同步选项。

 

 

2. YAML创建:为您提供更灵活的创建能力。默认提供了demo yaml,将echo-server应用部署到该舰队的所有关联集群中。您可以在这里定义您自己的ApplicationSet,如使用了matrix和git等generator的ApplicationSet。

 

 

 

 

ApplicationSet创建的Applications展示

 

 

创建完ApplicationSet后,ApplicationSet Controller会生成多个Application,点击列表页的Application列的数字,即可查看该ApplicationSet创建和管理的Application列表。这个关联关系仅通过kubectl难以找到。

在该列表页,您可以快速查看概览信息,点击Application名称还可跳转ArgoCD UI查看应用详情。

 

 

跳转到如下ArgoCD UI的应用详情页,可以对应用进行同步、回滚(至指定版本),查看应用的完整资源拓扑、状态,并可在ArgoCD UI对资源(Application、Deployment等)进行修改。

 

 

 

 

编辑与删除ApplicationSet

 

 

在列表页中还支持对ApplicationSet进行编辑和删除。

 

 

 

 

 

总结

 

 

 

ACK One GitOps致力于为您提供简单、快速、安全的多集群GitOps持续交付能力,让您更加专注于业务开发。

 

欢迎加入 ACK One 客户交流钉钉与我们一同交流。(钉钉群号:35688562




我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
15天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
12天前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
59 12
|
17天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
33 2
|
29天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
29天前
|
弹性计算 调度 数据中心
阿里云 ACK One 注册集群云上弹性:扩展业务新利器
随着企业数字化转型深入,传统IDC数据中心因物理容量限制,难以实现动态扩容,缺乏弹性能力。阿里云ACK One注册集群凭借其高度灵活性和丰富资源选择,成为解决此问题的最佳方案。通过与阿里云资源的整合,ACK One不仅实现了计算资源的按需扩展,提高了资源利用率,还通过按需付费模式降低了成本,使企业能够更高效地应对业务增长和高峰需求。
|
29天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
2月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
83 1
|
3月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
3月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
152 17
下一篇
开通oss服务