应用中心最佳实践之—— Helm编排应用的多集群部署实战

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Helm编排应用的多集群部署实战

如果一个用户账号下有多个集群的情况,希望将一个应用同时发布到多个集群里面,并且不同集群环境有不同的参数,这里就可以使用应用中心的多集群发布功能。

添加多个目标集群

应用中心 -> 配置 -> 集群,将需要发布的集群添加到应用中心内。这里添加的集群需要kubeconfig,系统会自动读取Kubernetes的配置。我们这里一共添加了三个集群,第一个是本集群,另外的一个是北京区域的集群,还有一个是香港区域的集群。
1592817023181-7bf39d68-f556-4464-9ef1-829cd2439212.png

添加示例git repo

示例git repo地址: https://github.com/haoshuwei/appcenter-samples.git
编排模板路径:examples/demo-helm
1.png
1.png

应用中心 -> 配置 -> 仓库 -> 连接Repo

创建应用demo-helm-pre和demo-helm-pro
demo-helm-pre应用部署至目标集群ack-pre-beijing并指定使用values.yaml文件进行参数渲染
1.png

demo-helm-pro应用部署至目标集群ack-pre-hk并指定使用values-pro.yaml文件进行参数渲染
1.png

以下为2个应用创建参数配置对比

通用-应用名称 demo-helm-pre demo-helm-pro
通用-部署策略 手动 手动
源-类型 Git Git
源-版本 https://github.com/haoshuwei/appcenter-samples.git https://github.com/haoshuwei/appcenter-samples.git
源-路径 master master
目标集群-集群 examples/demo-helm examples/demo-helm
目标集群-命名空间 ack-pre-beijing ack-pro-hk
源-仓库地址 demo-helm demo-helm
Helm-VALUES values.yaml values-pro.yaml

一键部署应用到多个集群

应用中心 -> 应用 -> 部署所有应用
1.png

勾选需要部署的demo-helm-pre和demo-helm-pro 2个应用并点击部署
1.png

应用部署成功
1.png

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
11月前
|
数据采集 Web App开发 监控
捕获抖音截图:如何用Puppeteer保存页面状态
随着抖音直播的兴起,实时动态和互动元素吸引了大量用户。为了捕获直播页面的实时信息,本文介绍了如何使用 Puppeteer 和代理 IP 服务,解决页面动态加载、反爬虫机制等问题,实现自动化抓取和截图保存。通过安装 Puppeteer、配置代理 IP 和编写简单脚本,可以高效地捕获抖音直播页面的状态。
453 51
|
10月前
|
Java Spring
【Spring配置相关】启动类为Current File,如何更改
问题场景:当我们切换类的界面的时候,重新启动的按钮是灰色的,不能使用,并且只有一个Current File 项目,下面介绍两种方法来解决这个问题。
179 10
|
消息中间件 存储 负载均衡
两个实验让我彻底弄懂了「订阅关系一致」
这篇文章,笔者想聊聊 RocketMQ 最佳实践之一:**保证订阅关系一致**。 订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。 如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。
两个实验让我彻底弄懂了「订阅关系一致」
|
11月前
|
人工智能 机器人 API
12.4在北京,AI产品榜·年度大会 暨 中国 AI 年度产品颁奖仪式
自2022年11月30日ChatGPT发布以来,AI应用逐渐务实,探索真实落地场景。AI搜索、视频生成、手机AI化等成为重要方向。2024年12月4日在北京举办的AI产品榜年度大会将深入讨论这些话题,并揭晓2024中国AI年度产品。大会邀请了多位行业专家参与圆桌论坛,共同探讨AI技术的未来发展与应用。
12.4在北京,AI产品榜·年度大会 暨 中国 AI 年度产品颁奖仪式
|
12月前
|
JavaScript Docker Python
下个时代的开发工具-Nix:声明式的运行环境构建器、简单场景下的docker替身
Nix 是一个独特的包管理工具和构建系统,采用声明式方法管理软件包和运行环境。它通过精确控制依赖关系和环境配置,确保软件的可重复性、隔离性和可追溯性。Nix 支持多语言开发环境,提供声明式配置、环境隔离、回滚与版本控制等核心功能,适用于复杂开发场景,有效解决依赖冲突和环境不一致问题。
1357 3
|
运维 安全 网络安全
常用的运维工具:SSH和远程连接工具详解
常用的运维工具:SSH和远程连接工具详解
678 3
|
12月前
|
缓存 关系型数据库 MySQL
一文彻底弄懂MySQL优化之深度分页
【10月更文挑战第24天】本文深入探讨了 MySQL 深度分页的原理、常见问题及优化策略。首先解释了深度分页的概念及其带来的性能和资源问题。接着介绍了基于偏移量(OFFSET)和限制(LIMIT)以及基于游标的分页方法,并分析了它们的优缺点。最后,提出了多种优化策略,包括合理创建索引、优化查询语句和使用数据缓存,帮助提升分页查询的性能和系统稳定性。
1235 1
|
缓存 Java 应用服务中间件
OpenResty 简介及其容器化实践
【9月更文挑战第2天】OpenResty 是一个基于 Nginx 与 Lua 的高性能 web 平台,它扩展了 Nginx 的功能,使之能够处理更加复杂的业务逻辑。通过集成 Lua 脚本,OpenResty 可以实现高效的请求处理、缓存、负载均衡等功能。
292 8
|
Linux Perl
`sed`命令删除文件中匹配特定模式的行
`sed`命令删除文件中匹配特定模式的行
465 4
|
JavaScript 前端开发 数据可视化
富文本编辑器使用详细介绍
富文本编辑器使用详细介绍
443 0