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


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到多个项目中。例如,由内部开发人员组成的项目团队可能必须与外包团队协作。因为他们必须在相同的应用程序上工作,而需要有自己的独立实例,因此两个项目中都应该有应用程序的副本。

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/

多集群应用如何帮助企业级Kubernetes获益相关推荐

  1. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  2. 云原生时代, Kubernetes 多集群架构初探

    为什么我们需要多集群? 近年来,多集群架构已经成为"老生常谈".我们喜欢高可用,喜欢异地多可用区,而多集群架构天生就具备了这样的能力.另一方面我们也希望通过多集群混合云来降低成本, ...

  3. 美团点评Kubernetes集群管理实践

    背景 作为国内领先的生活服务平台,美团点评很多业务都具有非常显著.规律的"高峰"和"低谷"特征.尤其遇到节假日或促销活动,流量还会在短时间内出现爆发式的增长.这 ...

  4. s19.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(一)

    基于 Kubernetes v1.25 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成 容器运行时 CRI Kubernetes v1.25 新特性 Kubernete ...

  5. 容器集群技术-Kubernetes简介

    随着Docker技术的发展和广泛流行,云原生应用和容器调度管理系统也成为IT领域大热的词汇.事实上,云原生应用的思想,在Docker技术火爆之前,已经由云计算技术的领导者和分布式系统架构的推广者广泛传 ...

  6. 管理数百个Kubernetes集群需要什么?

    运行和管理数百个Kubernetes集群需要什么?这就是本文分享的内容.下面,我们一起来看. 要点: 部署一个具备生产就绪所需所有依赖关系的Kubernetes集群需要数天时间. 如果不自动化这个过程 ...

  7. CentOS 7.4搭建Kubernetes 1.8.5集群

    环境介绍 角色 操作系统 IP 主机名 Docker版本 master,node CentOS 7.4 192.168.0.210 node210 17.11.0-ce node CentOS 7.4 ...

  8. Docker集群管理工具-Kubernetes部署记录

    Kubernetes介绍 Kubernetes是Google开源的容器集群管理系统,是基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件. Kubernet ...

  9. 在阿里云上部署生产级别Kubernetes集群

    阿里云是国内非常受欢迎的基础云平台,随着Kubernetes的普及,越来越多的企业开始筹划在阿里云上部署自己的Kubernetes集群. 本文将结合实战中总结的经验,分析和归纳一套在阿里云上部署生产级 ...

最新文章

  1. 判断两个数组内容是否相同
  2. VC++深入详解 孙鑫 高清PDF + 配套视频下载
  3. python实现批量压缩文件夹
  4. deepin linux grub,deepin linux 安装之后 引导错误 出现 grub
  5. Tomcat学习总结(17)—— Tomcat生产环境中域名访问和连接MySQL
  6. 计算机和口腔医学都不错的学校,人民日报推荐“各省”好大学,并非只有985/211,普本也有好大学...
  7. Log4J基础详解及示例大全
  8. [大妈吐糟] 虾米音乐的系列猜想
  9. Android权限管理及动态申请权限
  10. 北斗卫星广播星历计算卫星位置
  11. echart——时间点和时间段综合显示
  12. 苹果iphone免越狱使用iTunes获取旧版本APP
  13. 计算机视觉:图片的马赛克、毛玻璃效果和图片的融合
  14. Efficient single image dehazing and denoising: An efficient multi-scale correlated wavelet approach
  15. Net6.0项目发布到IIS 503
  16. 灰狼算法(GWO)优化支持向量机的数据回归预测,GWO-SVM回归预测,多输入单输出模型。
  17. SwiftUI - Shape(Circle, Rectangle,RoundedRectangle,Capsule,Path)
  18. 机器学习驱动的语言测试
  19. 【Unity Shader】屏幕后处理2.0:实现Sobel边缘检测
  20. 基数排序python

热门文章

  1. php中的eq的含义,jquery,_jQuery中的eq(0)到底是什么意思??详情请看下面代码!,jquery - phpStudy...
  2. 2 时间格式化_U盘无法格式化怎么办 U盘无法格式化解决教程【详解】
  3. linux搭建--ubuntu使用qemu-kvm,libvirt搭建虚拟机,并搭建libvmi来虚拟机自省(三)
  4. linux中看挂载的磁盘用什么命令,使用Linux命令行挂载硬盘和分区 | MOS86
  5. java的算法库_java – 如何实现算法库?
  6. Linux多线程总结
  7. systemd的程序自启动脚本编写
  8. php: 通过key获取多维数组中的值
  9. 说说JS中的浅拷贝与深拷贝
  10. SpringMVC REST 风格静态资源访问配置