写点什么

如何在 Rancher 2.2 Preview2 上部署和管理多 K8s 集群应用

  • 2020-04-23
  • 本文字数:1811 字

    阅读完需:约 6 分钟

如何在Rancher 2.2 Preview2上部署和管理多K8s集群应用

近日,全球领先的容器管理软件供应商 Rancher Labs 宣布,其旗舰产品 Rancher——开源的企业级 Kubernetes 管理平台——最新版本Rancher 2.2 Preview 2全面发布,这一版本包含了许多在 K8S 集群操作的强大特性。


您可以通过访问发布页面(https://rancher.com/products/rancher/2.2/)和发布说明(https://github.com/rancher/rancher/releases/tag/v2.2.0-alpha6)来了解所发布的新功能。


本文将介绍其中一个特性:多集群应用(multi-cluster applications),下面将为您介绍,该特性将如何显著减少您的工作量,并提高多集群操作的可靠性。

概览

假如您有用过 k8s,并且有两个及以上的集群运维经验,那么您遇到下面的情况:


  • 当跨多个可用区部署(AZs)时,应用需要具有更高的容错性;

  • 在具有数百个集群的边缘计算场景中,同一个应用需要在多个集群上运行。


在高可靠性的情况下,运维操作人员通常通过将节点从多个可用区纳入到一个集群内来降低单个可用区不可用风险。但是这个方案的问题在于,虽然抵抗了可用区故障,但是防不住集群本身故障,集群故障的可能性高于可用区故障,而且一旦集群出故障后,可能会影响集群中在运行的程序。


另外一种方法是,每个可用区中运行单独的集群,病症每个集群上运行应用程序的副本。相当于每个可用区都有一套 k8s 集群,但是每个集群手动维护应用程序成本高,又易错。


边缘计算场景跟多可用区集群相同的问题:应用程序手动维护,既耗时,又容易出错,即使运维团队给力,创建了复杂的脚本来部署和升级,但是又多了一个故障点,而且这些脚本也需要升级和维护,并且要求负责的运维人员不仅要编写流程(升级发版流程),还要在脚本失败时能够转成人肉运维。


从 Rancher 2.2 Preview 2 (https://github.com/rancher/rancher/releases/tag/v2.2.0-alpha6)开始,Rancher 支持在任意数量的 k8s 集群中同时部署和升级同一应用程序的副本。


同时也扩展了基于 Helm 软件包管理器的应用商店(Application Catalogs),在此之前,应用商店仅适用于单个集群,我们在全局级别增加了一个附加功能,权限允许的情况下,可以将应用程序部署到 Rancher 管理的任意集群上。


有关 Rancher 2.2 Preview2 的功能的完整演示,请保持关注,我们将在 3 月推出全新一季的在线培训,届时将提供新功能的演示,并在 Q&A 环节进行答疑。


下面将演示,在 Rancher 中如何便捷的管理多集群应用。

功能快速入门

  • 登陆 Rancher 后,将看到纳管的所有集群的列表,同时在菜单栏新增了一个【多集群应用(Multi-Cluster Apps)】 的按钮


  • 单击 多集群应用 按钮后,将看到两个按钮,【管理 Catalogs】和【启动】。【管理 Catalogs】将跳到【应用商店(Catalogs) 】的管理页,您开源在其中启用主要 Helm repo 或者添加其他第三方 Helm repo。

  • 单击【启动】按钮以启动新应用程序。


  • 从显示的可以部署的应用中,选择 Grafana(用于演示)。


  • 按照要求配置详细信息,使用表单或者直接用提供 YAML 进行配置。注意,在此处的设置将应用到部署此应用程序的集群中。


  • 在【配置选项】下,在【Target(目标) 】下拉框中选择目标集群的指定项目。


  • 选择升级策略。此处为了演示,我们将选择【滚动更新】并提供每批 1 个,间隔 20 秒。此设置可以确保以后升级应用时,一次只更新一个集群,并且每个集群升级操作的间隔为 20 秒。


  • 如果要调整集群间的差异,可以在【Answer Overrides】部分进行设置。


  • 一切准备妥当,点击底部【启动】,然后将跳到结果页,显示刚刚已安装的多集群应用(此处是演示用的 Grafana)。每个应用将显示当前状态和目标集群以及项目列表。


  • 当应用程序可以升级时,应用状态将显示【Upgrade Available】。

  • 要启动升级,请单击应用上的菜单按钮(三个点的菜单),然后选择升级。



  • 验证是否已选择【滚动更新】选项。

  • 更改一些设置,然后点击底部的【升级】按钮。


打开目标集群的【工作负载】选项卡,将看到其中一个状态更改为更新 ,此集群中的应用将被更新,然后 Rancher 将暂停 20s(刚刚设置的间隔时间),然后继续更新下一个集群的应用。

总结

多集群应用程序将减少运维团队的工作量,并使跨集群快速可靠的部署和升级应用成为可能。


要在实验室或者开发环境中测试这些功能,请安装最新的 Alpha 版本(https://rancher.com/docs/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories),如果有任何反馈意见,请在 Github 上提交 Issues 或者加入论坛(https://forums.rancher.com/)或 Slack(https://slack.rancher.io/) 。


2020-04-23 17:23690

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 测试平台开发-前端开发之Vue.js 框架的使用(二)

测吧(北京)科技有限公司

测试

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

软件测试 | 测试开发 | 一文带你了解测试流程的体系

测吧(北京)科技有限公司

测试

TiFlash 源码阅读(九)TiFlash 中常用算子的设计与实现

TiDB 社区干货传送门

【“玩物立志”-scratch少儿编程】亲手实现小猫走迷宫小游戏:其实挺简单

清风莫追

游戏 scratch 10月月更

软件测试 | 测试开发 | 软件测试入门必会-流程管理平台

测吧(北京)科技有限公司

测试

数据中台中事实表设计概述

穿过生命散发芬芳

数据中台 9月月更

C语言太细了

清风莫追

c 10月月更

软件测试 | 测试开发 | 软件项目管理与跨部门沟通协作

测吧(北京)科技有限公司

测试

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【二】

Rae

kafka 架构 分布式 日志 原理

软件测试 | 测试开发 | 做为测试,那些必须掌握的测试技术体系

测吧(北京)科技有限公司

测试

2022-9-30

留白的艺术

Go runtime:带你了解Go语言的GMP模型与goroutine调度

董哥的黑板报

Go 线程 操作系统 协程 runtime

弯曲矫正技术概述

合合技术团队

人工智能 深度学习 图片处理

软件测试 | 测试开发 | 测试平台开发-前端开发之Vue.js 框架(一)

测吧(北京)科技有限公司

测试

百草味上线“本味甄果”系列罐装坚果 打造高品质坚果新标准

E科讯

TiDB Lightning导入超大型txt文件实践

TiDB 社区干货传送门

迁移 管理与运维

k8s Tidb 实践-运维篇

TiDB 社区干货传送门

数据库前沿趋势

软件测试 | 测试开发 | 被测项目需求你理解到位了么?

测吧(北京)科技有限公司

测试

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

软件测试 | 测试开发 | 测试面试 | 某 BAT 大厂测试开发面试真题与重点解析

测吧(北京)科技有限公司

测试

大咖说·图书分享|深入集群:大型数据中心资源调度与管理

大咖说

编程 数据中心

深度分析React源码中的合成事件

goClient1992

React

HummerRisk 云原生安全平台

HummerCloud

云计算 云原生 云安全

边缘计算落地提速 天翼云Serverless边缘容器加速深耕市场

极客天地

k8s Tidb实践-部署篇

TiDB 社区干货传送门

数据库前沿趋势

运维成本降低 50%,丽迅物流是如何应对大规模容器镜像管理挑战的

阿里巴巴云原生

阿里云 容器 云原生 镜像

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

TDengine3.0流式计算引擎语法规则介绍

TDengine

数据库 tdengine 企业号九月金秋榜

软件测试 | 测试开发 | 被测系统架构与数据流分析

测吧(北京)科技有限公司

测试

【导航】FreeRTOS学习专栏目录 【快速跳转】

矜辰所致

目录 FreeRTOS 9月月更

如何在Rancher 2.2 Preview2上部署和管理多K8s集群应用_文化 & 方法_Rancher_InfoQ精选文章