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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: [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

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

同步骤三

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
运维 Kubernetes Cloud Native
SREWorks云原生数智运维工程实践-Kubernetes资源编排之二:Helm篇(下)
SREWorks云原生数智运维工程实践-Kubernetes资源编排之二:Helm篇
109 1
|
运维 Kubernetes Cloud Native
|
存储 运维 Kubernetes
|
前端开发 Java 数据挖掘
基于 Jira 的产品需求全生命周期管理实践
在整个需求全生命周期的反馈回路中,如何对需求、项目、任务、缺陷、线上质量和功能优化进行有效组织和管理的呢?
1906 1
|
存储 Kubernetes 测试技术
GitOps 多环境部署问题及解决方案(上)
GitOps 多环境部署问题及解决方案(上)
247 0
GitOps 多环境部署问题及解决方案(上)
|
存储 运维 Kubernetes
GitOps 多环境部署问题及解决方案(下)
GitOps 多环境部署问题及解决方案(下)
287 0
GitOps 多环境部署问题及解决方案(下)
|
存储 运维 Kubernetes
GitOps 的 12 个痛点
GitOps 的 12 个痛点
212 0
GitOps 的 12 个痛点
|
机器学习/深度学习 存储 Kubernetes
Kubeflow 和 Argo 的综合比较
MLOps 通过自动化可重复的任务来帮助简化 ML 生命周期。它还提供了帮助数据科学团队与其他团队有效协作、沟通和协调的最佳实践。 机器学习管道是 MLOps 中的一个关键概念。理想情况下,一旦机器学习模型投入生产,就会构建一个可以根据需要重新训练模型的系统,并且可以进一步开发该系统,而不是依赖临时工作流。 许多公司的一个重要问题是找到最合适的平台来管理他们的自动化工作流程。一些人正在寻找为 ML/MLOps 构建的特定工具,例如:Kubeflow,而另一些人则在寻找更通用的编排器,例如:Argo 或 Airflow,它们可以适用于机器学习工作流。