除了 AWS、Azure 和 Google Cloud 之外,还有各种各样的选项可用于卸载 Kubernetes 管理。
Kubernetes功能强大,但非常复杂。这促使许多组织放弃自托管解决方案,转向更全面托管的 Kubernetes 平台。DataDog在 2021 年报告称,近 90% 的 Kubernetes 用户使用云托管服务。
顶级云超大规模提供商各自都有自己的托管 Kubernetes 平台:Amazon Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS) 和Google Kubernetes Engine (GKE)。但这还只是开始。托管 Kubernetes 服务随处可见,既有老牌科技公司,也有新兴初创公司。云原生计算基金会 (CNCF) 跟踪了100 多家认证供应商。
虽然人们对主要的公有云产品议论纷纷,但人们对替代的托管 Kubernetes 平台的兴趣却日益浓厚。许多平台专门用于独特的环境,例如边缘、本地或较小的容器部署。一些产品以大型云提供商成本的一小部分解锁托管基础设施。
虽然大型现有企业停滞不前并提高价格,但新来者正在推动创新——尤其是通过管理跨多个公共云或私有云的集群的不可知层。下面,我们将探索托管 Kubernetes 平台的范围,并比较一些适用于中小型企业和企业的顶级产品。
阿里巴巴容器服务 Kubernetes(ACK)
阿里云 Kubernetes 容器服务(ACK) 提供了许多开箱即用的功能,以简化集群管理和容器化应用程序部署,并在阿里云基础设施上提供高可扩展性。
主要优势包括用于安全网络连接的原生 VPC 和对 GPU 加速实例的即时访问。开发人员可以使用内置的金丝雀和蓝绿部署策略跨多个地理区域进行部署和测试发布。ACK 符合 Kubernetes 标准,并提供专业支持服务。
ACK 优先考虑 VPC 网络,缺乏对Cilium 等现代基于 eBPF 的 CNI的原生支持(尽管它提供了插件)。它还依赖阿里云服务进行日志记录、存储和 RBAC(基于角色的访问控制)——这对阿里云用户来说很棒,但对那些寻求开源灵活性的人来说就不是那么好了。
如果您在亚太地区开展业务或已经与阿里云有联系,那么 ACK 是一个显而易见的考虑因素。
D2iQ Kubernetes 平台 (DKP)
D2iQ Kubernetes 平台(DKP) 现归 Nutanix 所有,由 Mesosphere 发展而来,Mesosphere 最初捆绑了现已不复存在的 Apache Mesos ,后者是一种在容器战争中表现不佳的编排器。在转向 Kubernetes 之后,DKP 引入了跨云集群管理的自动化功能。
DKP 的控制平面集中了跨集群的可见性,有助于故障排除和根本原因分析。它符合 CNCF 标准,具有声明性 API 和标准 kubectl 命令。DKP 还符合 NSA/CISA 指南并支持隔离部署。
大多数用户认为 DKP 是一个强大而可靠的平台,可用于生产级集群管理,简化数据库配置、CI/CD、备份、漏洞扫描和监控。然而,一些人认为文档质量差、支持响应迟钝,初始设置的学习曲线陡峭。其他人则认为销售人员缺乏产品知识。
对于具有强大 GitOps 文化并希望以更简单的方式在各种部署环境中运行多个集群的跨云组织来说,DKP 是一个不错的选择。
DigitalOcean Kubernetes (DOKS)
DigitalOcean Kubernetes (DOKS) 是一个托管的 Kubernetes 平台,具有可通过 UI、API 或 CLI 访问的完全托管控制平面。它抽象了基础设施管理,通过SnapShooter提供自动化的高可用性、自动扩展和备份。
用户对其直观的 Web 界面、精简的 CLI 和简单的入门操作表示赞赏。更新只需几个命令,本机负载平衡器和卷无缝集成。每个节点的成本往往低于超大规模服务器。通过手动部署支持 Nvidia 的 droplet 支持 GPU 工作负载。
早期的安全问题(例如公开的 etcd)已得到解决。然而,DOKS 缺乏对分布式存储的内置网络文件系统 (NFS) 支持——虽然存在解决方法,但某些平台提供了本机选项。虚拟私有云(VPC) 网络可用,但灵活性不如 AWS 或 GCP。
DOKS 不断改进,对于 API、工作节点或日志处理等小规模 Kubernetes 工作负载来说是一个不错的选择。
IBM Cloud Kubernetes 服务 (IKS)
IBM Cloud Kubernetes Service (IKS) 是一个托管的 Kubernetes 平台,用于在 IBM Cloud 上部署容器化应用程序。它提供高级调度、修复、监控和用户友好的部署工具。
用户发现工作负载可扩展性和高可用性是 IKS 的主要优势。其资源隔离功能还可以帮助支持高度监管的环境。经过 CNCF 认证的 IKS 提供可预测的 Kubernetes API 行为、原生容器注册表以及与其他 IBM 服务(包括 Watson)的集成。
与专注于多云的平台不同,IKS 是 IBM Cloud 专用的,这限制了它在不可知容器编排中的作用。很少有人对 IBM Cloud 给出好评,开发人员指出成本高、故障排除困难以及文档不足。具体到 IKS,体验各不相同。
如果您已经在使用 IBM Cloud 并且需要与 IBM 服务紧密集成,IKS 可能是一个不错的选择。尽管对 IBM Cloud 的看法褒贬不一,但评论称 IKS 可以完成工作。
Kubermatic Kubernetes 平台
Kubermatic Kubernetes 平台(KKP) 是一个托管的 Kubernetes 发行版,针对低带宽或低处理能力等边缘限制进行了优化。它具有高度的可移植性,支持混合多云、数据中心和多租户环境。
KKP 包含用于扩展、修复、配置、更新和备份的内置自动化功能。它已通过 CNCF 认证,因此遵循 Kubernetes 原生命令,并且根据 Apache License 2.0 提供自管理开源社区版本。
KKP 的容器网络接口 (CNI) 支持最初仅限于 Canal,但现在支持 Cilium 和其他服务。虽然 KKP 的用户群比主要的托管 Kubernetes 服务要小,但它是Kubernetes 上游的重要贡献者。
KKP 集群对于托管平台来说相当普通。如果您想要一个 Kubernetes 原生托管平台,并且对边缘容器进行高度定制,KKP 是一个不错的选择。
Linode Kubernetes 引擎(LKE)
Akamai 的Linode Kubernetes Engine (LKE) 是一个托管平台,用于部署容器化应用程序而无需维护 Kubernetes 集群。它具有完全托管的控制平面和编程方式来配置集群。
用户对 LKE 的易用性、高质量的客户支持和透明的定价表示赞赏——您只需为工作节点付费,入站传输是免费的。LKE 保证 99.99% 的正常运行时间,支持多个 Kubernetes 版本,并支持快速附加工具。
然而,LKE 缺乏大型平台中的一些高级功能。值得注意的是,它不提供私有容器注册表,虽然仪表板是可管理的,但用户必须处理部署配置。(Akamai App Platform是一个更易于运行的平台,但仍处于测试阶段)。GPU 工作负载需要额外的产品订阅。
正如 Swapnil Bhartiya 在TFiR.io上所写,LKE“专为典型的云用户设计”,既能服务于小型团队,也能服务于企业。然而,它的简单性导致许多人将其归类为小型提供商。Elliot Graebert将 LKE 描述为“最适合初创企业”。
Mirantis Kubernetes 引擎 (MKE)
Mirantis Kubernetes Engine (MKE),原名Docker Enterprise,是一个基于 Kubernetes 的容器编排平台,可在裸机、公有云以及介于两者之间的所有平台上运行。它基于开源构建,包括用于网络的 Calico 和用于管理容器和虚拟机的KubeVirt。
MKE 经过 CNCF 认证,可通过 Web UI、CLI 或 API 灵活访问。用户欣赏它的易用性、强大的安全控制、无限的工作节点以及容器映像的内部可信注册表。
然而,一些人对 Mirantis 的开源承诺持谨慎态度,因为该公司决定将流行的 Kubernetes 仪表板 Lens 设为闭源,并且其曾将免费的 Docker 相关工具产品化。评论还提到了客户支持问题和不透明的文档。
对于那些嵌入 Docker 生态系统且更看重简单性而不是完全灵活性的人来说,MKE 仍然是一个不错的选择。
Oracle Kubernetes 引擎(OKE)
Oracle Kubernetes Engine (OKE) 是一个基于 Oracle 云基础设施 (OCI) 构建的 Kubernetes 管理平台。除了自动执行维护、修补和修复之外,OKE 还支持自动扩展和高效的资源利用。
OKE 可扩展,为服务网格、集群自动扩展、指标、入口控制器、负载平衡等领域提供集群附加组件,非常适合与 Oracle 生态系统交织在一起的组织。虽然 Oracle 通常吸引企业用户,但即使是一些独立开发人员也转向 OCI 的Always Free层来进行自托管项目。
一些 Oracle Cloud 用户报告称,免费套餐的账户会突然被关闭,而预付费套餐的账户不会。其他人则报告称,使用 OCI 用户界面的体验很不顺畅。正如 Docktape Technologies 联合创始人兼首席执行官Arnold Gálovics所写,“Oracle Cloud 控制台界面是一个巨大的倒退。”
但是,如果您正在寻找一个以企业为中心、具有慷慨免费层的 Kubernetes 管理层,那么 OKE 就是您的最佳选择。
Platform9 Managed Kubernetes
Platform9 Managed Kubernetes (PMK) 是一项完全托管的 Kubernetes 服务,可自动执行部署、监控、修复和升级等集群操作。PMK 与云无关,可在本地、边缘和公共云上运行。
用户报告称,PMK 成功实现了扩展。它包括多集群管理、多租户和精细的 RBAC 策略,而 Platform9 的Always On Assurance可确保高可用性。与竞争对手相比,PMK更接近上游 Kubernetes ,可提供可靠的开发人员体验。
然而,PMK 缺乏内置私有注册表,其 CNI 支持有限(尽管可以通过插件进行自定义)。其云托管控制平面可能不适合严格的本地合规性需求。虽然用户报告了成本节省,但确切的定价细节尚不透明。
对于寻求私有云 Kubernetes 的企业来说,PMK 是 Red Hat OpenShift 或 VMware Tanzu 的强大替代方案。
Rackspace 管理的 Kubernetes (MPK)
Rackspace Kubernetes 托管平台(MPK) 由 Platform9 提供支持,为集群部署、监控、事件响应和升级提供统一的控制平面。
MPK 支持三种环境 - Rackspace 裸机、AKS 和 EKS。独特的优势包括保证 Kubernetes 在生命周期结束后 120 天内升级的 SLA 和专门的支持,由一组 Kubernetes 认证的工程师为每位客户提供协助。
MPK 高度符合 Kubernetes 标准,集成了 CNCF 支持的工具,如 Prometheus、Fluentd、Helm 和 Istio。但是,MPK 缺乏原生容器注册表、IAM 和存储,需要公有云或自带解决方案。
对于使用 Rackspace 进行裸机托管并希望获得实际支持和集中平台来管理 AWS 和 Azure 的 Kubernetes 服务的团队来说,MPK 是一个不错的选择。
Rancher
Rancher是 SUSE 推出的一款适用于本地和云的 Kubernetes 即服务解决方案。Rancher 可以管理多个 Kubernetes 平台的集群,包括 Rancher Kubernetes Engine (RKE)、K3s、AKS、EKS 和 GKE。
开发人员往往发现 Rancher 的统一 Web UI 易于上手。Rancher 还提供 API 和 CLI,并通过自己的 GitOps 部分支持 Terraform。它附带安全的管理控件,包括 OAuth 和其他登录选项。Rancher 拥有庞大的用户群和 Slack 群组,因此很容易找到社区和支持。
近年来,SUSE 不断提高价格。工程师们还报告了SUSE 原生存储解决方案Longhorn的性能和可扩展性挑战,并经常推荐其他备份存储方案。Rancher 还支持K3k(Kubernetes 中的 Kubernetes),让您可以在更大的 Kubernetes 环境中运行独立的 K3s 集群。
总而言之,Rancher 与 OpenShift 相当,但更不固执己见、更模块化,对多租户采用不同的方法。如果您需要多云、多集群管理且供应商限制较少,Rancher 是一个不错的选择。Portainer是一个类似的替代方案。
Red Hat OpenShift Kubernetes 引擎
Red Hat OpenShift是一个混合云平台,它通过开发人员工具链简化了 Kubernetes,从而简化了集群管理。它包括内置的可观察性、网络、安全性和GitOps,使升级和修补比独立的 Kubernetes 更容易。与特定于云的服务不同,OpenShift 是可移植的,可以在本地、数据中心或跨云运行。
OpenShift OpenShift Kubernetes Engine是 OpenShift 的精简版,提供无需更高级别平台即服务(PaaS) 层的托管 Kubernetes 环境。它还支持 Kubernetes Operators 以及与容器一起运行的虚拟机。
一个潜在的缺点是,与 AKS 等其他服务相比,OpenShift更加固执己见。它更倾向于使用自己的 oc CLI 而不是 kubectl,并且由于其更严格的安全模型,一些 Helm 图表和 Operator 可能需要调整。
OpenShift 适用于本地部署、管理虚拟机和容器的混合团队以及 Red Hat 客户。如果您正在寻找具有内置安全性和自动化功能的可移植、企业级 Kubernetes 发行版,OpenShift 是一个强有力的竞争者。
Scaleway Kubernetes Kapsule
Scaleway 是一家位于欧盟的云提供商,提供Kubernetes Kapsule,这是一项专注于自动扩展和弹性的托管 Kubernetes 服务。Scaleway 还为多云 Kubernetes 部署提供Kosmos 。
Kapsule 具有流畅的用户体验、强大的客户支持以及通过 API、CLI 和 Terraform 进行的灵活集群管理。您只需为使用的节点付费,这对于个人集群或实验而言具有成本效益。Scaleway 的应用程序库包含常用附加组件的预配置映像。Kapsule 还通过了 CNCF 认证,确保符合标准 Kubernetes API。
Scaleway 的一个主要缺点是它支持的地区很少——只有法国、荷兰和波兰——这阻碍了它真正实现全球覆盖。有些人认为缺少某些功能(如高级负载平衡和 DNS)是交易障碍。用户还报告了配置时间缓慢、中断和可靠性问题。
由于其有限的功能集和地理分布,Kapsule 似乎最适合需要符合欧洲数据保护法规的经济实惠的选择的附带项目和欧盟初创企业。
VMware Tanzu Kubernetes Grid (TKG)
VMware 的Tanzu Kubernetes Grid (TKG) 是一个 Kubernetes 平台,可简化网络、身份验证、监控、日志记录和入口控制。它部分基于开源构建,利用Cluster API来管理多个集群。TKG 性能良好,提供 CLI 和 UI 选项。
然而,TKG 不再是多云的——自 v2.5 以来,TKG 放弃了对 AWS 和 Azure 工作负载的支持。现在几乎完全专注于 VMware vSphere,它不适合作为不可知的 Kubernetes 控制平面。跨云管理 Kubernetes 需要 Tanzu Mission Control (TMC) 以及 EKS、AKS 或 GKE 等本机服务。
另一个挑战是 Tanzu 复杂的品牌和文档——甚至连 VMware 员工都很难解释其 SKU。与此同时,博通收购 VMware 导致价格大幅上涨。VMware 还弃用了一些Tanzu 软件包,这引发了人们对 VMware Tanzu 长期生存能力的质疑。
如果您在 vSphere 和虚拟机方面投入了大量资金,您可以承受更高的成本,并且您不需要真正的多云解决方案,那么 TKG 可能是一个不错的选择。否则,存在更灵活、更面向未来的替代方案。
荣誉提名
还有无数其他托管 Kubernetes 平台,并且随着Hetzner或Spectro Cloud等小众云平台的出现,还有更多平台不断涌现。其他类似的、功能齐全的 Kubernetes 托管平台包括OVHCloud Managed Kubernetes和Civo Kubernetes。
腾讯 Kubernetes 引擎(TKE) 和华为云容器引擎(CCE) 是亚太地区的其他选择。
大型企业还提供自己的精简版 Kubernetes 管理。例如,AKS Automatic和EKS Auto Mode为开发人员提供顺畅的体验,以自动化集群部署和操作。而Google Cloud Anthos正在成为一种混合多云解决方案。
许多其他解决方案专注于更小众的 Kubernetes 管理功能。例如,其他托管服务专注于多集群、多云管理的通用控制,例如Portainer、Rafay、Omni、Liquo和Kube Clusters。
对于边缘或小型容器部署,精简选项包括MicroK8s、K3s和K0s,而Vultr Kubernetes Engine则提供更易于管理的体验。开发人员最喜欢的Kubespray提供了一套开源工具集,用于在精简配置中部署 Kubernetes 集群。
适合这项工作的合适工具
即插即用的 Kubernetes 服务可以减少集群管理的很多麻烦。但这一切都取决于规模——如果您没有同时运行多个集群,则托管服务可能不是必需的。较小的部署通常选择更简单的容器运行时,例如 Docker Compose 或 Nomad。其他人则转向平台即服务的替代方案,例如 Heroku、Fly.io 或 Cloud Run。
根据您的需求,您可能只需要特定的工具。例如,Karpenter是一款流行的开源工具,专门用于自动扩展集群节点。或者,也许您只需要像Devtron这样的仪表板或像Aptakube或Octant这样的 UI 。
或者,如果您预计需要在基础设施层面进行更精细的控制,并且您有足够的资金,那么构建可能比购买更好。有了合适的技术能力,您可以考虑坚持使用内置的 kubeadm 并自行托管 Kubernetes,以实现最终控制。
评估托管 Kubernetes 服务归结为两个主要因素:你想管理多少以及你需要哪些第三方服务。虽然自动化服务可以消除基础设施管理,但它们可能并不总是能与某些第三方工具很好地集成。这实际上归结为,就像云中的任何事物一样,你想放弃多少控制权。