[12.15 workshop]基于GitOps的应用生命周期管理和交付

前提条件

  • 创建一个可以访问公网的ACK集群

操作步骤

步骤一: 安装应用中心组件

登录容器服务控制台 点击 多集群 -> 应用中心 进入应用中心控制台页面。

选择 主控集群,若显示组件未安装,则点击 开始安装 完成应用中心组件的安装,如下图所示。

[12.15 workshop]基于GitOps的应用生命周期管理和交付

等待约1~2分钟,组件安装成功。

步骤二: 创建和发布应用

前置操作

由于本地demo所使用的的应用包含容器水平伸缩(HPA)配置,所以首先需要安装HPA controller组件;

集群 -> 运维管理 -> 组件管理 -> 安装ack-kubernetes-cronhpa-controller 组件
[12.15 workshop]基于GitOps的应用生命周期管理和交付

创建应用

(1) 点击 创建应用 进入 应用来源 配置页面, 选择 Git仓库,点击 下一步 进入 应用配置页面;
(2) 应用配置项如下所示:

[12.15 workshop]基于GitOps的应用生命周期管理和交付

完成配置后点击 下一步 进入 发布配置页面

(3)发布页面配置中,从可选集群列表中选择目标集群和命名空间并点击 开始发布,如下图所示:
[12.15 workshop]基于GitOps的应用生命周期管理和交付

核对发布确认单信息并点击 确定 开始执行发布操作, 如下图所示:

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(4) 查看和访问应用
查看应用包含哪些k8s子资源,资源拓扑图如下所示:

[12.15 workshop]基于GitOps的应用生命周期管理和交付

查看应用Ingress访问地址,如下图所示:

[12.15 workshop]基于GitOps的应用生命周期管理和交付

本地设置Hosts绑定,添加hosts绑定条目如下所示(请替换{nginx-ingress-lb eip}的值为您实际绑定的eip):

# /etc/hosts
{nginx-ingress-lb eip} mse.workshop.com

浏览器访问应用查看页面背景色:

[12.15 workshop]基于GitOps的应用生命周期管理和交付

步骤三: 更新应用

(1)提交hotfix到Git仓库

$ cd mse-spring-cloud-demo
$ git checkout -b hotfix/backgroundcolor-green
### 更新directory/zuul-deployment.yaml编排文件中环境变量background.color=green
$ git add .
$ git commit -m "hotfix backgroundcolor to green" -s
$ git push origin hotfix/backgroundcolor-green

(2) 开发者在Git端创建MergeRequest请求合并到master分支,如下所示
[12.15 workshop]基于GitOps的应用生命周期管理和交付

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(3)管理员接收合并请求

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(4)应用中心页面点击 创建变更

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(5)创建变更页面中,可以查看当前已部署的应用版本和最新应用版本信息

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(6) 点击下一步,进行发布配置

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(7)发布确认单,执行发布

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(8) 刷新访问应用,查看新版应用页面

[12.15 workshop]基于GitOps的应用生命周期管理和交付

步骤四: 回滚应用到指定版本

(1)在应用详情页面点击 历史版本 可以查看历史版本记录

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(2)回滚到指定版本

[12.15 workshop]基于GitOps的应用生命周期管理和交付

(3)查看回滚后的应用

[12.15 workshop]基于GitOps的应用生命周期管理和交付

步骤五: 更新应用并重新发布

同步骤三

上一篇:BlackHat议题解析:Windows程序的数字签名校验“漏洞”


下一篇:【原】[webkit移动开发笔记]之如何去除android上a标签产生的边框