多集群应用如何帮助企业级Kubernetes获益

ByteRover
• 阅读 2012

扩大Kubernetes集群规模运维人员有两个选择:Scale Up和Scale Out。如果想将工作量以及成本维持在较低水平,那么多集群应用程序将是一个重要功能。本文将介绍这两种选择,并阐述为何多集群应用程序如此重要。

多集群应用如何帮助企业级Kubernetes获益


Kubernetes有许多受用户喜爱的功能。它提供了一种在大型资源池上部署和运行应用程序的最佳方式。

凭借其易于使用的UI和开箱即用的RBAC、监控、审计、日志等功能,Rancher可以轻松地管理企业级Kubernetes。

使用Rancher,IT运维人员可以连接他们的云提供商(AWS、GCP、Azure等)或者数据中心,只需简单点击几下就可以创建集群。

随着企业对Kubernetes需求的增长,IT运维人员可以有两种选择:

  • Scale Up:团队在相关项目上一起工作,不需要通过添加更多节点来扩大现有集群的规模。
  • Scale Out:由于安全问题、资源回收或其他原因,团队需要高度隔离,可以通过添加更多集群来scale out Kubernetes环境。Rancher均支持这两种选择。

要如何做到无论选择scale up还是scale out,都能够确保企业级Kubernetes管理的工作量和成本都控制在一个比较低的水平呢?

支持多集群应用程序就是实现这一目标的其中一步。尽管名称上仿佛表示该功能仅适用于多个集群,但其实它也适用于同一集群中的多个项目。

Scale up场景

随着对高可靠性、高可用性或更大规模集群的需求增长,集群管理员可能会向现有集群添加更多节点。为了实现某种程度的隔离,管理员可以为每个团队提供他们自己的项目。Rancher中的项目是比命名空间更高级别的抽象,可以使用RBAC进行限制。

使用相同集群的团队仍然可以在自己的项目中工作,而不需要查看其他项目。出于公司的需求或者不同的团队可能使用相同的应用程序,因此必须将该应用程序的副本push到多个项目中。例如,由内部开发人员组成的项目团队可能必须与外包团队协作。因为他们必须在相同的应用程序上工作,而需要有自己的独立实例,因此两个项目中都应该有应用程序的副本。

多集群应用如何帮助企业级Kubernetes获益

Scale out场景

随着Kubernetes在企业中的应用越来越多,我们经常发现客户会构建多个集群,以在不同的团队之间获得最高级别的隔离。在这种情况下,企业需求(例如需要在每个集群中部署安全工具)要求集群管理员将相同应用程序的副本push到每个集群。

在客户可能拥有数百(甚至数千)个集群的边缘计算场景中,这种问题的复杂度是指数级的。

为何多集群应用程序如此重要

在这两种情况下,将应用程序副本部署到多个目标的场景都算是较小的问题。如果没有复杂的脚本和高度熟练的支持团队,想要升级和维护这些应用程序的同步几乎是不可能的。

这就是对于多集群应用程序的支持变得如此重要的原因。想象一下在同一(或多)集群上的多个项目内针对应用程序的Helm charts,我们需要提供配置的值,覆盖项目/集群具体的设置,然后单击一个按钮部署应用程序。

不久前的如何部署和管理多Kubernetes集群一文就详细介绍了这种功能。

为这些应用程序选择升级策略(滚动或同步更新)的能力,进一步简化了应用程序保持最新版本的方式。

可以说,无论是那些支持具有多个集群的企业级Kubernetes用户,还是那些职场时具有多个项目、单个集群的用户,多集群应用程序都拥有着强大的能力。

总 结

百闻不如一见,试着用用它吧。你可能会发现,采用Kubernetes作为你的企业策略并不会像有些人说的那样复杂!

如果要在实验室或者开发环境中测试这些特性,请安装最新的alpha版本:

https://rancher.com/docs/ranc...

如果有任何需要反馈的内容,请进入Github中的issue,或者直接加入我们的论坛或者添加小助手微信(rancher2)进技术群,与同道中人一起交流。

Github:

https://github.com/rancher/ra...

论坛链接:

https://forums.cnrancher.com/

点赞
收藏
评论区
推荐文章
光速从0到1掌握Prometheus和Grafana,腾讯云专家5万字精华教程免费送
作者黄雷,腾讯云高级工程师,曾负责构建腾讯云云监控新一代多维业务监控系统,擅长大规模分布式监控系统设计,对golang后台项目架构设计有较深理解,后加入TKE团队,致力于研究Kubernetes相关运维技术,拥有多年Kubernetes集群联邦运维管理经验,目前在团队主要负责大规模集群联邦可观测性提升,主导研发了腾讯云万级Kubernetes
Stella981 Stella981
3年前
Rancher 2.4.3
一、概述对于生产环境,需以高可用的配置安装Rancher,确保用户始终可以访问RancherServer。当安装在Kubernetes集群中时,Rancher将与集群的etcd集成,并利用Kubernetes调度实现高可用。为确保高可用,本文所部署的Kubernetes集群将专用于运行Rancher,Rancher运行
Stella981 Stella981
3年前
Kubernetes和TensorFlow集群搭建
原创未名小宇宙2018012022:48:35@引用自今日头条莫问出处莫问归途本文演示在Kubernetes集群上搭建TensorFlow集群。集群如下:(请不要问node1哪去了,因为TA罢工了)!Kubernetes和TensorFlow集群搭建(https://oscimg.oschina.net/oscnet
Stella981 Stella981
3年前
Rancher 2.2.2
对于生产环境,需以高可用的配置安装Rancher,确保用户始终可以访问RancherServer。当安装在Kubernetes集群中时,Rancher将与集群的etcd集成,并利用Kubernetes调度实现高可用。为确保高可用,本文所部署的Kubernetes集群将专用于运行Rancher,Rancher运行起来后,可再创建或导入
Stella981 Stella981
3年前
K8s
kubernetes(简称 K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。在之前的文章中,我介绍如何通过 Docker 为我们提供的实验网站 PlaywithKubernetes(PWK)来搭建 Kubernetes 集群(点击查看)。    但如果每次学习时都需要重新搭建一个 K8s 集群还是很麻烦。好在 Kubernetes 
Stella981 Stella981
3年前
K8s(7)
仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序