多集群Kubernetes管理解决方案

开发 前端
本文概述了流行的SaaS解决方案,包括Rancher,Google Anthos,Azure Arc和Volterra以及开源替代方案。

本文概述了流行的SaaS解决方案,包括Rancher,Google Anthos,Azure Arc和Volterra以及开源替代方案。

[[382069]]

> Photo by Alina Grubnyak on Unsplash

随着越来越多的组织将其基础架构迁移到Kubernetes,问题不再仅仅是“如何在单个Kubernetes集群上管理所有应用程序?”现在,越来越多的集群管理员正在努力解决组织中如何管理多集群的问题。虽然Kubernetes在单个集群中支持名称空间用于软隔离,在虚拟集群中用于硬多租户,但有时可能需要运行多个集群。

运行多个群集的最常见原因包括:

  • 严格隔离:这可能是由合规性(例如,将生产/质量保证/登台集群与生产隔离)或客户需求(例如,根据客户要求运行专用服务)驱动的
  • 多区域:出于可用性,故障转移,延迟或位置(例如,数据保护法)的原因,应用程序可能需要在多个区域中运行
  • 多云:类似地,应用程序可能需要在多个云上运行以实现可用性/灾难恢复协议或避免供应商锁定
  • 可扩展性:在极少数情况下,该服务可能会超出可扩展性的Kubernetes限制(例如,GKE集群中的15万个Pod)

在一定程度上,可以通过良好的CI / CD管道来管理多个集群。例如,在带有CircleCI和ArgoCD的Kubernetes CI / CD中,我引入了利用应用程序模式的应用程序来引导单个集群的方法。可以将其扩展到部署到不同集群的管道,以简化工作流程。

但是,真正的多集群管理解决方案需要的不仅仅是应用程序部署。有安全注意事项(例如RBAC,多群集日志记录),配置/秘密管理以及不同Kubernetes群集之间的功能奇偶校验。在本文中,我们将介绍一些流行的托管解决方案以及用于管理多个Kubernetes集群的开源项目。

Rancher

[[382070]]

> Image Credit: Rancher

在Google宣布Anthos和AWS推出EKS Anywhere之前,Rancher与OpenShift和Cloud Foundry一起是少数支持企业应用的选项之一,以支持在混合和多云基础架构上运行Kubernetes。Rancher提供了一个控制平面来创建或添加现有的Kubernetes集群。

自Rancher v2.2.0起已支持多集群应用程序,并且从Rancher v2.5开始,一个名为Fleet(基于GitOps原理的多集群应用程序部署)的较新项目现已可用。跨多个群集分布的应用程序还可以从Rancher的全局DNS中受益,从而无需使用Cloudflare等外部解决方案即可跨应用程序配置负载平衡。

> Image Credit: Rancher

Rancher Lab的所有项目(包括Rancher,RKE,Longhorn和K3s)都是开源的,但是如果您需要SaaS解决方案,它们还提供托管版本。

谷歌Anthos

托马斯·库里安(Thomas Kurian)接管Google Cloud时,他继承了Oracle的多云战略构想,我在“为什么BigQuery Omni是一件大事”中作了详细介绍。Google Anthos是一个基于Kubernetes的开放平台,可以将GKE扩展到混合和多云环境,非常适合此策略。谷歌是Kubernetes的领导者,这已经不是什么秘密了。对于希望采用Kubernetes的现有GKE用户和新组织来说,Anthos是一个诱人的选择。

> Image Credit: Google Cloud

Anthos将群集组织成可以对群集和资源(例如工作负载标识,名称空间,服务)进行逻辑管理的逻辑分组。Anthos的另一个强大功能是Anthos Config Management,它由以下组件组成:

  • Config Sync:遵循GitOps模型,以跨多个集群(例如,名称空间,集群角色,安全策略)持续同步配置
  • 策略控制器:基于Open Policy Agent Gatekeeper项目来实施策略(例如,不合规的API请求)
  • 二进制授权:要求集群中运行的映像由受信任的机构签名
  • 层次控制器:基于“层次命名空间控制器”项目,创建共享公共父命名空间以进行继承或控制的命名空间

Microsoft Azure Arc

> Image Credit: C# Corner

对于Microsoft Azure用户,Azure Arc提供了与Google Anthos类似的功能。Azure Lighthouse用于控制所有Kubernetes群集之间的RBAC,以及Azure策略用于实时实施和评估策略违规。Azure Arc还本地支持某些Azure数据服务,例如Azure SQL托管实例和Azure PostgresSQL Hyperscale。

Volterra

几周前,F5宣布了对Volterra的收购,Volterra是一家多/混合云管理初创公司,于2019年成立,由Khosla Ventures,Mayfield,M12(Microsoft)和Samsung Ventures投资。在“分布式Kubernetes PaaS的控制平面”中,Volterra首席执行官Ankur Singla描述了创建Volterra的动机:

  • 没有强大的Kubernetes发行版或PaaS(例如OpenShift,Cloud Foundry)为分布式集群提供一套全面的安全和运营服务,例如RBAC /用户管理,机密/密钥管理和多集群服务网格。
  • Anthos,Azure Arc和Rancher专注于将多种服务打包和部署到分布式群集,而较少关注于运营和多租户需求。

自2019年以来,其他竞争对手已经添加了一些功能来解决这些问题,但是当时Volterra的SaaS产品套件提供了独特的解决方案,可以跨多个云和边缘平台部署,连接,保护和运行应用程序:

  • VoltConsole:用于集中管理在VoltMesh和VoltStack上运行的应用程序的门户
  • VoltStack:分布式Kubernetes平台,用于部署,保护和运行跨云和边缘运行的应用程序
  • VoltMesh:高性能网络层,用于连接运行在不同云和边缘上的应用程序
  • Volterra全球网络:应用程序到应用程序网络可提供出色的性能 > Image Credit: Volterra Blog

其他解决方案

  • Rafay托管Kubernetes平台:Rafay提供的解决方案(著名客户:Verizon)
  • VMWare Tanzu Mission Control:VMWare的中央管理解决方案
  • IBM Cloud Pak:IBM的多集群管理解决方案
  • 金钟:提供开源或云托管/企业版
  • Gopaddle:以应用程序为中心的平台到集中式集群管理支持

开源项目

  • kubefed:alpha中的官方Kubernetes SIG项目
  • 园丁:在SAP的大力支持下的多云/集群项目
  • KQueen:Mirantis的旧项目似乎不再维护

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2023-11-29 08:35:28

群多租户ES运维

2012-03-30 16:12:36

惠普IT绩效管理

2009-11-25 13:00:36

上网行为管理解决方案

2009-09-14 17:24:08

全面预算博科资讯管理

2010-10-20 16:01:29

网络管理解决方案网络管理

2022-07-24 21:11:19

KubernetesLinux

2011-05-17 09:54:48

VMwareShavlik

2011-01-06 11:25:02

2009-05-20 19:27:28

2009-12-01 11:37:48

UPS集中网络管理解决

2021-11-12 16:12:04

COSU设备管理移动设备

2009-09-17 12:49:31

2020-09-02 11:13:28

密码网络攻击网络安全

2012-03-27 22:22:51

iMC基础IT资源管理

2012-10-10 12:51:19

2022-06-21 14:46:52

KubernetesPODMultus

2021-02-07 08:00:00

Kubernetes集群云原生

2022-05-24 09:00:00

云计算Kubernetes安全

2022-01-12 11:55:43

Kubernetes多集群Linux

2011-03-16 15:36:00

点赞
收藏

51CTO技术栈公众号