实现跨地域的多集群管理和应用部署

如果您的账号下有多个集群分布在不同的Region,希望将一个应用同时发布到多个集群里面,并且不同集群环境有不同的参数,您可以使用应用中心的多集群发布功能。本示例演示如何将appcenter-samples/examples/demo-multicluster 中的应用部署到 ack-hangzhouack-beijing 2个Kubernetes集群,根据集群所在的不同Region,为应用配置不同的镜像地址。

前提条件


操作步骤


步骤一:安装应用中心

首次使用时,需要在主集群中部署应用中心控制器。在本示例中,我们选择 ack-hangzhou 作为部署应用中心控制器的主集群,ack-beijing 作为外部集群添加到应用中心中进行统一管理。

1、登录容器服务 Kubernetes 版控制台,在左侧导航栏选择多集群 > 应用中心

2、在安装控制器步骤中,选择集群ack-hangzhou,单击开始安装

Install Appcenter

3、在添加集群步骤中,找到 ack-beijing 集群,单击添加,将该集群交由应用中心统一管理。

Add Cluster

4、添加完毕后,单击开始使用进入应用中心。

Appcenter Overview

步骤二:创建和部署应用

本示例中,将演示如何将 appcenter-samples/examples/demo-multicluster 中的应用部署到 ack-hangzhouack-beijing 2个Kubernetes集群,根据集群所在的不同Region,为应用配置不同的镜像地址。

我们创建的Helm Chart类型应用所需要配置的参数项包含以下内容。

- 通用

  • 应用名称: demo-multicluster
  • 部署策略: 手动

Create Application General

- 镜像源

  • 仓库类型: GIT
  • 仓库网址: https://github.com/AliyunContainerService/appcenter-samples.git
  • 版本: master
  • 路径: examples/demo-multicluster

Create Application Source

- 目标集群

  • 集群: ack-hangzhou 命名空间:default
  • 集群: ack-beijing 命名空间:default

Create Application Destination

- Helm配置

  • 默认使用 values.yaml

Create Application Helm

步骤三:查看应用

创建应用后,我们可以在应用中心看到demo-cluster-0demo-cluster-1 2个应用,它们属于同一个应用组 demo-multicluster

List Application

步骤四:根据Region为应用配置不同参数

部署应用到集群 ack-hangzhou

在本示例中,应用 demo-muticluster-0 将要部署到集群 ack-hangzhou,使用 values-hangzhou.yaml 文件进行参数配置,其中应用使用的docker image为registry-vpc.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:blue。按照以上需求配置应用 demo-muticluster-0

1、依次单击应用详情 > 参数 > 编辑

Config Application

2、修改 VALUES FILES 并选择 values-hangzhou.yaml,单击保存

Config Application

部署应用到集群 ack-hangzhou

在本示例中,应用 demo-muticluster-1 将要部署到 集群 ack-beijing,使用 values-beijing.yaml 文件进行参数配置, 其中应用使用的docker image为registry-vpc.cn-beijing.aliyuncs.com/acs/rollouts-demo:green 按照以上需求配置应用 demo-muticluster-1

1、依次单击应用详情 > 参数 > 编辑

Config Application

2、修改 VALUES FILES 并选择 values-beijing.yaml,单击保存

步骤四:一键部署应用

完成应用创建和配置后, 我们就可以把应用组下的所有应用一键部署到其对应的Kubernetes集群中,操作步骤如下。

1、单击部署所有应用

Deploy Application

2、勾选应用组,单击部署Deploy Application

至此, 应用部署完毕。

后续步骤


查看应用拓扑视图以及状态

应用部署完毕后, 可以在应用中心页面查看所有应用状态。 List Application

您也可以单击进入指定应用页面,查看应用拓扑视图以及状态。

  • demo-multicluster-0 应用详情页面如下所示:

List Application

  • demo-multicluster-1 应用详情页面如下所示:

List Application

访问应用

本示例以Nginx Ingress的方式暴露demo-multicluster服务。

  • 访问 ack-hangzhou 集群中的应用: List Application

  • 访问 ack-hangzhou 集群中的应用: List Application