阿里云 ACK One 多集群管理再升级:GitOps 多集群持续集成,统一报警管理

作者:宇汇、壮怀

ACK One 概述

ACK One 是阿里云面向混合云、多集群、分布式计算等场景推出的分布式云容器平台,能够统一管理阿里云上、边缘、部署在客户数据中心以及其他云上的 Kubernetes 集群,并简化集群管理界面。

通过 ACK One 多集群管理,可以关联并管理各种形态的 Kubernetes 集群,提供统一的集群控制面,实现多集群统一的应用分发,流量管理,运维管理,安全管理。

 title=

两大重磅特性,覆盖应用分发和运维管理,持续提升多集群管理能力

ACK One 应用分发 GitOps

GitOps概述

 title=

应用分发 GitOps 的核心是使用 Git 仓库来管理应用的部署模版,将应用持续部署到指定 Kubernetes 集群中,并以 Git 仓库作为应用部署的唯一来源,不断调整 Kubernetes 集群上应用状态,最终与 Git 仓库中的期待状态一致。

GitOps 的优势:

  • Git 易于被接受开发者接受,易于集成,无额外学习成本。
  • Git 仓库作为应用部署的唯一来源,提供版本控制,快速回滚和审计能力。
  • 安全性高,开发者使用 GitOps 不需要任何 Kubernetes 集群权限,只需要 Git 仓库权限。
  • 应用持续部署,Kubernetes 集群和 Git 仓库中的应用状态自动同步,保持一致。

ArgoCD [ 1] 是 CNCF 开源项目,遵循声明式 GitOps 理念的持续交付工具,对接 Git 仓库和 Helm 仓库,提供功能强大的可视化页面。ArgoCD 作为控制器运行在 Kubernetes 集群中,持续监控应用的实际状态,并与 Git 仓库中声明的期望状态保持同步。

ACK One GitOps -- 多集群应用分发

ACK One 多集群管理主控实例托管了开源 ArgoCD 实现应用的 GitOps 持续交付,同时集成 ACK One 多集群能力实现多集群的 GitOps 持续交付,满足应用的高可用部署,系统组件多集群分发等需求。

 title=

ACK One GitOps -- 优势

  • 原生 ArgoCD 体验,支持 Argo CD 原生 CLI 和 UI。
  • 多集群分发,ACK One 关联子集群自动加入 ArgoCD,成为应用分发 GitOps 的目标集群。
  • 集成新版 ArgoCD,支持 ArgoCD Applicationset,提升多集群应用分发体验。
  • 开箱即用,免运维。

ACK One GitOps -- 用户体验示例

  1. 开启 ArgoCD:创建主控实例后,可以通过 aliyun cli,快速开启 ArgoCD。
> aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --EnableArgoCD true
  1. 原生 ArgoCD CLI -- Git 仓库管理

> argocd repo add https://code.aliyun.com/shuwei.hsw/echo-server.git --name echo-server

> argocd repo list
TYPE  NAME  REPO                                                INSECURE  OCI    LFS    CREDS  STATUS      MESSAGE  PROJECT
git         https://code.aliyun.com/shuwei.hsw/echo-server.git  false     false  false  false  Successful           default

3. 原生 ArgoCD CLI -- 创建 GitOps 应用

> argocd app create echo-server --repo https://code.aliyun.com/shuwei.hsw/echo-server.git --path  helm/echo-server --dest-namespace echo-server-cli --dest-server https://47.97.XX.XX:6443
  1. 创建 ArgoCD ApplicationSet,多集群应用分发
cat << EOF | kubectl apply -f -
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: echo-server
spec:
  generators:
  - list:
      elements:
      - cluster: ack       #部署的目标集群1
        url: https://47.97.xx.xx:6443
      - cluster: idc       #部署的目标集群2
        url: https://47.97.xx.xx:6443
  template:
    metadata:
      name: '{{cluster}}-echo-server'
    spec:
      project: default
      source:
        repoURL: https://code.aliyun.com/shuwei.hsw/echo-server.git
        targetRevision: main
        path: manifests/directory/{{cluster}}
      destination:
        server: '{{url}}'
        namespace: multi-echo-server
EOF
  1. ArgoCD 原生 UI

 title=

ACK One 运维管理 -- 统一报警管理

概述

运维管理也是 ACK One 多集群管理的重要能力之一,可以简化多集群运维工作。运维多集群不再需要频繁切换集群界面,做重复操作,而是通过 ACK One 提供的统一集群控制面,一次操作,ACK One 多集群运维管理自动将运维指令下发到多集群中运行。提高运维效率,减少错误风险。

 title=

本次发布的 ACK One 统一报警管理,基于 ACK 单集群报警管理 [2 ] ,由ACK One多集群管理主控实例统一配置报警规则,配置特定集群的差异化报警规则,主控实例将报警规则统一下发到指定的关联子集群中,并基于声明式原则,主控实例监视关联子集群的报警规则,保持与主控实例的一致性。同时,对新关联集群,主控实例可以自动同步报警规则。

报警规则差异化

在实际的使用场景中,不同集群可能需要不同的报警规则,例如:只对 GPU 集群开启 GPU 报警,对不同集群配置不同的报警阀值,对不同集群配置不同的报警联系人。ACK One 统一报警管理支持定义报警差异化配置,实现对不同集群的差异化报警规则配置。详细配置,见参考链接中的文档。

总结

本文介绍了 ACK One 近期发布的 2 个主要特性,增强了多集群应用分发与运维管理能力,包括应用分发 GitOps,统一报警管理。除多集群管理外,ACK One 更是支持连接并管理任何地域、任何基础设施上的 Kubernetes 集群,提供一致的管理和社区兼容的 API,支持对计算、网络、存储、安全、监控、日志、作业、应用、流量等进行统一运维管控。阿里云分布式云容器平台(简称 ACK One)是面向混合云、多集群、分布式计算、容灾等场景推出的企业级云原生平台。

分布式云容器平台 ACK One 产品限时公测中,欢迎点击此处前往 ACK One 产品详情页开通体验。

参考链接

分布式云容器平台 ACK One:

https://www.aliyun.com/produc...

ACK One 产品控制台:

https://cs.console.aliyun.com...

多集群应用分发 GitOps:

https://help.aliyun.com/docum...

多集群统一报警管理:

https://help.aliyun.com/docum...

[1] ArgoCD:

https://argoproj.github.io/cd/

[2] ACK 单集群报警管理:

https://help.aliyun.com/docum...

感兴趣的同学欢迎钉钉搜索群号:35688562,进群交流~


阿里巴巴云原生
关注云原生技术趋势,输出最优质云原生内容
957 声望
256 粉丝
0 条评论
推荐阅读
OpenYurt 即将亮相 EdgeX+OpenVINO 开发者生态大会
备受期待的 EdgeX+OpenVINO 生态伙伴大会即将于 6 月 10 日盛大举行!本次大会将汇聚来自阿里云、英特尔、VMware 等边缘计算和视觉推理两大领域的顶尖专家和创新企业,共同探索智能边缘的未来发展。

阿里云云原生

Apache APISIX 结合 Authing 实现集中式身份认证管理
Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 不仅支持插件动态变更和热插拔,而且拥有众多实用的...

API7_技术团队1阅读 2.5k

Kubernetes Gateway API 深入解读和落地指南
Kubernetes Gateway API 是 Kubernetes 1.18 版本引入的一种新的 API 规范,是 Kubernetes 官方正在开发的新的 API,Ingress 是 Kubernetes 已有的 API。Gateway API 会成为 Ingress 的下一代替代方案。Gateway A...

Rainbond2阅读 439

Apache APISIX 助力便利充电创领者小电,实现云原生方案
原文链接业务背景小电作为国内共享充电宝服务平台,目前还处于初创阶段。从运维体系、测试环境等方面来讲,当下产品的业务主要面临了以下几个问题:VM 传统模式部署,利用率低且不易扩展开发测试资源抢占多套独立...

API7_技术团队1阅读 1.6k

Higress GitHub star 突破 1k,来自社区开发者和用户的寄语
不知不觉间,Higress 从去年11 月云栖大会宣布开源,已经过去了 5 个月的时间。这期间,Higress 一共完成了 136 个 PR 的合并,发布了 9 个 Release,收获了 25 位社区 Contributor。在这里向 Higress 一路同行的...

阿里云开发者阅读 3.6k

vue项目部署到阿里云服务器(windows - Nginx代理)
项目构成:前端:vue+vant-ui,数据库:mysql,后端:node.js部署方式:nginx代理一,首先要拥有自己的服务器,阿里,腾讯都可以,我用的是阿里的购买方式省略...购买完成后,会跳到实例界面,也就是你的服务器实...

墨城2阅读 790

Serverless部署应用并使用Cloudflare加速和支持HTTPS
Serverless 是一种云计算模型,它使开发人员能够构建和运行应用程序,而无需关心底层的服务器基础设施。在传统的应用程序开发中,开发人员需要管理服务器的配置、扩展和维护等任务。而在 Serverless 模型中,这些...

MartinDai2阅读 803

957 声望
256 粉丝
宣传栏