广告

7个CNCF调度和编排工具

  • 浏览(539)
  • 评论(0)
  • 译者:k8s

像Kubernetes这样的容器管理器已经成为管理大量容器的关键。通过在集群(一组机器)中运行容器,系统可以优化每个应用程序消耗内存的方式。随着云原生生态系统向微服务设计和越来越多的分布式计算发展,自动化容器管理变得至关重要。

Kubernetes已成为近乎标准的容器编排和调度工具,使工程师能够从一个控制平面更好地管理其分布式节点。如今,它是被维护最积极的编排器,这意味着该领域的许多其他工具倾向于与Kubernetes集成,并将其扩展到独特的开发场景中。例如,kube-rs使用Rust语言的Kubernetes变得更容易。

下面,我们将研究由CNCF主持的七个与调度和编排相关的项目。这些开源项目中有很多都是Kubernetes感知的,可以帮助解决多集群管理、多云、数据密集型工作负载和其他特定需求问题。

1.Kubernetes

用于自动化容器化应用程序的部署、扩展和管理的系统

Kubernetes通常缩写为K8s,是使用最广泛的容器编排器。Kubernetes最初由谷歌设计,擅长调度和扩展大规模容器工作负载,优化它们的运行位置,以及处理许多其他应用程序生命周期任务。Kubernetes与Docker不同,尽管这两种工具通常同时使用。Kubernetes于2014年开放源码,现在是一个完全毕业的CNCF项目。

2.Crossplane

通用控制平面

现在有很多种Kubernetes。Kubernetes可以通过EKS、AKS、GKE、ACK或PKS等服务进行自我管理或云托管。多集群管理也有各种不同的做法。Crossplane是一个扩展K8s API的工具,使其更容易与多个云提供商进行接口。使用Crossplane,团队可以通过一个通用API进行通信,以定制的方式管理多个集群和供应商。Crossplane还支持插入安全策略和护栏,以帮助保护云原生基础设施。Crossplane由Upbound创建,目前处于CNCF的孵化状态。

3.Fluid

用于弹性数据抽象和加速的云原生编排平台

如今,在AI/ML开发等场景中使用数据密集型应用程序是很常见的。Kubernetes是一个容器编排器,而Fluid是为编排数据层而设计的。Fluid是一个开源的Kubernetes原生项目,帮助处理数据并按需扩展数据集缓存。基于Alluxio,Fluid提供了一个运行时和额外的抽象来管理数据集,使其成为处理分布式缓存的主要工具。通过优化数据处理方式,Fluid可以比其他方法更快地训练AI/ML模型,它是CNCF的一个沙箱项目。

4.Karmada

多云、多集群K8s编排器

如前所述,扩展的云原生架构可能使用不同风格的Kubernetes。Karmada就是为此而构建的,它可以帮助你在各种Kubernetes集群和云上运行应用程序。使用Karmada作为集中管理点可以帮助避免供应商锁定,并实现混合多云管理。Karmada使用REST API服务器运行,该服务器与访问各种云中集群的控制器通信。这个进程根据约束和可用资源调度集群。Karmada目前是一个沙箱项目,由CNCF托管,具有开放治理。

5.kube-rs

Kubernetes的Rust客户端

与Kubernetes的Go客户端类似,kube-rs为Kubernetes自定义资源定义(CRD)提供了运行时抽象层和宏。该项目使编写与Rust中的Kubernetes API交互的应用程序变得容易。kube-rs将Kubrentes原生元素(如反射器、控制器和自定义资源接口)重新解释为Rust语言。目前,kube-rs是CNCF的一个沙箱项目。

6. Open Cluster Management

用于管理多个K8s集群的中心控制平面

随着组织部署的Kubernetes集群数量的增加,同时管理它们变得越来越困难,更不用说保持对其内部工作的可见性了。跨多个云供应商使用Kubernetes使这一点更加复杂。开放集群管理(OCM)项目是一个有趣的开源项目,旨在为多个Kubernetes集群提供集中控制。使用OCM,运维人员可以从一个控制平面上创建和删除多个云上的集群。你还可以注册集群,并跨多个集群应用标准安全策略。OCM提供了用于多集群管理的命令行工具clusteradm。目前,OCM是CNCF的一个沙箱项目。

7. Volcano

一个云原生批处理系统

Volcano是一个开源项目,为批量和弹性计算提供组件,它是因为Kubernetes不提供数据密集型工作负载所需的批量调度功能而创建的。该工具有助于将AI/ML或基因组学等领域的大数据应用程序作为Kubernetes工作负载运行。目前,Volcano是CNCF的一个沙箱项目。

开源调度工具

以上,我们回顾了CNCF旗下一些新兴的容器编排和调度项目。正如你所看到的,Kubernetes的无处不在影响了许多新软件包的创建,以迎合这种新范式。无论是运维人员试图统一不同的Kubernetes风格,选择语言,还是在Kubernetes集群中运行数据密集型计算,CNCF都有一些有趣的项目来满足这些特殊需求。

原文链接:

https://containerjournal.com/features/7-cncf-tools-for-scheduling-and-orchestration/


  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头