[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 关系型数据库
基于 KubeVela 的 GitOps 交付
本文将介绍如何使用 KubeVela 来完成 GitOps 交付。 KubeVela 作为一个简单、易用、且高可扩展的云原生应用管理工具,能让开发人员方便快捷地在 Kubernetes 上定义与交付现代微服务应用,无需了解任何 Kubernetes 基础设施相关的细节。 KubeVela 背后的 OAM 模型天然解决了应用构建过程中对复杂资源的组合、编排等管理问题,同时也将后期的运维策略模型化,这意味着 KubeVela 可以结合 GitOps 管理复杂大规模应用,收敛团队与系统规模变大以后的系统复杂度问题。
794 0
基于 KubeVela 的 GitOps 交付
|
云安全 供应链 安全
[10.14 Workshop] 容器 DevSecOps 全链路体验
DevOps的价值已经在软件开发企业间形成了共识,尤其在云原生时代,容器化架构与 DevOps 结合在一起,极大提升了企业研发效率。然而在快速迭代的背后,如果没有一个可信的软件供应链,很可能将安全风险引入生产环境,造成巨大的损失。本文将基于 ACR EE 的云原生应用交付链实践,介绍如何将安全内置在 DevOps 的流程,将流水线升级为 DevSecOps ,保障端到端的容器业务安全。
575 0
[10.14 Workshop] 容器 DevSecOps 全链路体验
|
4月前
|
监控 Devops 持续交付
掌握 GitOps:实现 DevOps 自动化的现代方法
【10月更文挑战第19天】GitOps 是一种基于 Git 仓库管理应用配置和集群状态的现代化 DevOps 方法,通过自动化工具实现声明式配置和持续部署。本文介绍了 GitOps 的核心概念、优势、挑战及实施的最佳实践,帮助团队提高部署效率和系统可靠性。
|
云安全 供应链 安全
[10.14 Workshop] 容器 DevSecOps 实践
DevOps的价值已经在软件开发企业间形成了共识,尤其在云原生时代,容器化架构与 DevOps 结合在一起,极大提升了企业研发效率。然而在快速迭代的背后,如果没有一个可信的软件供应链,很可能将安全风险引入生产环境,造成巨大的损失。本文将基于 ACR EE 的云原生应用交付链实践,介绍如何将安全内置在 DevOps 的流程,将流水线升级为 DevSecOps ,保障端到端的容器业务安全。
255 0
[10.14 Workshop] 容器 DevSecOps 实践
|
存储 运维 Kubernetes
GitOps 的 12 个痛点
GitOps 的 12 个痛点
291 0
GitOps 的 12 个痛点
|
Devops 机器人 运维
GitOps 与 ChatOps 的落地实践
本文介绍 GitOps 和 ChatOps 这两种 DevOps 实践,通过版本控制软件 Git 和实时聊天软件来达到提升交付速度和研发效率的目的。
3471 0
|
运维 Kubernetes Cloud Native
|
域名解析 运维 Kubernetes
SREWorks云原生数智运维工程实践-Kubernetes资源编排之一:Pod YAML篇(下)
SREWorks云原生数智运维工程实践-Kubernetes资源编排之一:Pod YAML篇
196 0
|
运维 Kubernetes Cloud Native

热门文章

最新文章