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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: [12.15 workshop]基于GitOps的应用生命周期管理和交付

前提条件

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

操作步骤

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

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

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

image.png

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

步骤二: 创建和发布应用

前置操作

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

集群 -> 运维管理 -> 组件管理 -> 安装ack-kubernetes-cronhpa-controller 组件
image.png

创建应用

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

image.png

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

(3)发布页面配置中,从可选集群列表中选择目标集群和命名空间并点击 开始发布,如下图所示:
image.png

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

image.png

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

image.png

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

image.png

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

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

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

image.png

步骤三: 更新应用

(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分支,如下所示
image.png

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

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

image.png

(2)回滚到指定版本

image.png

(3)查看回滚后的应用

image.png

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

同步骤三

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
Prometheus Kubernetes Cloud Native
Argo与Flux在云原生GitOps实践上的能力对比与分析
随着云原生技术的普及和落地,越来越多的云原生应用被部署到生产环境中,由于云原生应用通常都是基于云的分布式部署模式,且每个应用可能是由多个功能组件互相调用来一起提供完整的服务的,每个组件都有自己独立的迭代流程和计划。在这种情况下,功能组件越多,意味着应用的发布管理越复杂,如果没有一个好的方案或者系统来管理复杂应用的发布上线的话,业务面临的风险也是非常大的。开源社区在复杂应用发布管理方面逐渐开始发力,
4319 1
|
运维 Kubernetes Cloud Native
SREWorks云原生数智运维工程实践-Kubernetes资源编排之二:Helm篇(下)
SREWorks云原生数智运维工程实践-Kubernetes资源编排之二:Helm篇
|
运维 Kubernetes Cloud Native
|
运维 Kubernetes Cloud Native
|
域名解析 运维 Kubernetes
SREWorks云原生数智运维工程实践-Kubernetes资源编排之一:Pod YAML篇(下)
SREWorks云原生数智运维工程实践-Kubernetes资源编排之一:Pod YAML篇
147 0
|
运维 Kubernetes Cloud Native
|
存储 运维 Kubernetes
|
存储 运维 Kubernetes