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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: [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
|
29天前
|
监控 Devops 持续交付
掌握 GitOps:实现 DevOps 自动化的现代方法
【10月更文挑战第19天】GitOps 是一种基于 Git 仓库管理应用配置和集群状态的现代化 DevOps 方法,通过自动化工具实现声明式配置和持续部署。本文介绍了 GitOps 的核心概念、优势、挑战及实施的最佳实践,帮助团队提高部署效率和系统可靠性。
|
4月前
|
机器学习/深度学习 分布式计算 Kubernetes
YAML焦虑再见:PythonSDK助力大规模Argo Workflows构建
Hera优雅的对接Python生态体系与Argo Workflows框架,将繁琐复杂的工作流设计转化为直观简明的创作体验。它不仅为大规模任务编排开创了一条免受YAML复杂性困扰的通途,还为数据工程师铺设了平滑的桥梁,让他们能够借助熟悉的Python语言,无缝构造和优化机器学习工作流。
|
测试技术 API 开发工具
基于ACK One和ACR 构建应用全自动化GitOps交付的实践
本文介绍如何在ACK One实例上构建应用GitOps全自动化交付流水线。
16295 0
基于ACK One和ACR 构建应用全自动化GitOps交付的实践
|
运维 Kubernetes Cloud Native
|
运维 Kubernetes Cloud Native
|
存储 运维 Kubernetes
GitOps 的 12 个痛点
GitOps 的 12 个痛点
234 0
GitOps 的 12 个痛点
|
运维 监控 开发工具
Tekton实践篇-Tekton和Argocd的梦幻联动
Tekton实践篇-Tekton和Argocd的梦幻联动
Tekton实践篇-Tekton和Argocd的梦幻联动
|
运维 Kubernetes Cloud Native
OAM 与 KubeVela 项目整体捐赠进入 CNCF,让云端应用交付更加简单
2021 年 6 月 22 日,在云原生计算基金会(CNCF)的 TOC 例会上投票决议通过,Open Application Model (OAM) 和 KubeVela 整体成为 CNCF 官方沙箱项目
1388 5
OAM 与 KubeVela 项目整体捐赠进入 CNCF,让云端应用交付更加简单
下一篇
无影云桌面