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

本文涉及的产品
函数计算FC,每月15万CU 3个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 本文介绍了 ACK One 近期发布的 2 个主要特性,增强了多集群应用分发与运维管理能力,包括应用分发 GitOps,统一报警管理。

作者:宇汇、壮怀


ACK One 概述


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


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


1.png


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


ACK One 应用分发 GitOps


GitOps概述

2.png


应用分发 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 持续交付,满足应用的高可用部署,系统组件多集群分发等需求。


3.png


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


2. 原生 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


4. 创建 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


5. ArgoCD 原生 UI


4.png

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


概述


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


5.png


本次发布的 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/product/aliware/adcp


ACK One 产品控制台:

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


多集群应用分发 GitOps:

https://help.aliyun.com/document_detail/456131.html


多集群统一报警管理:

https://help.aliyun.com/document_detail/459232.html


[1] ArgoCD:

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


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

https://help.aliyun.com/document_detail/207725.html


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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7天前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
32 1
|
28天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
29天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
571 1
|
1月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
76 3
|
1月前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
114 1
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
56 1
|
1月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
151 0
|
1月前
|
弹性计算 Kubernetes Linux
如何使用minikube搭建k8s集群
如何使用minikube搭建k8s集群
|
1月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--k8s集群使用容器镜像仓库Harbor
本文介绍了在CentOS 7.9环境下部署Harbor容器镜像仓库,并将其集成到Kubernetes集群的过程。环境中包含一台Master节点和两台Node节点,均已部署好K8s集群。首先详细讲述了在Harbor节点上安装Docker和docker-compose,接着通过下载Harbor离线安装包并配置相关参数完成Harbor的部署。随后介绍了如何通过secret和serviceaccount两种方式让Kubernetes集群使用Harbor作为镜像仓库,包括创建secret、配置节点、上传镜像以及创建Pod等步骤。最后验证了Pod能否成功从Harbor拉取镜像运行。
116 0

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    无影云桌面