像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的工具,使其更容易与多个云提供商进