Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 节点池与一个池中的节点数_Kubernetes_Digital Ocean - Fatal编程技术网

Kubernetes 节点池与一个池中的节点数

Kubernetes 节点池与一个池中的节点数,kubernetes,digital-ocean,Kubernetes,Digital Ocean,配置k8群集时,在digital ocean的仪表板中的“选择群集容量”下,我看到一个选项,可以在池中添加节点,也可以添加一个新池。我不太明白其中的区别 DO给了我一个模棱两可的建议- 增加池中的节点数可以运行更多实例 这是定期服务的一部分。通过添加更多节点池,您可以 将pod调度到不同的节点池,以便每个pod都有RAM、CPU、, 以及所需的存储空间。可以添加和删除节点和节点池 随时都可以 有谁能给我举一个例子,当一个人在一个池中增加节点,当一个人创建一个不同的池 谢谢 假设我正在使用Kube

配置k8群集时,在digital ocean的仪表板中的“选择群集容量”下,我看到一个选项,可以在池中添加节点,也可以添加一个新池。我不太明白其中的区别

DO给了我一个模棱两可的建议-

增加池中的节点数可以运行更多实例 这是定期服务的一部分。通过添加更多节点池,您可以 将pod调度到不同的节点池,以便每个pod都有RAM、CPU、, 以及所需的存储空间。可以添加和删除节点和节点池 随时都可以

有谁能给我举一个例子,当一个人在一个池中增加节点,当一个人创建一个不同的池


谢谢

假设我正在使用Kubernetes运行我的网站服务器。最初,我只是建立了我的网站,并在node-pool-a中提供了两个节点,因此任何访问我的网站的人都将被定向到node-pool-a中的两个节点之一。几周后,我的访问者增加了,因此我将另一个节点添加到节点池中,该节点池现在有3个节点为访问者提供服务

现在,我决定给我的网站添加一个新功能。这是与旧的节点池(是一个微服务)隔离的,因此需要一个新的节点-pool-b和x个节点。然后,使用该功能的任何访问者都将被定向到node-pool-b

基本上,相同的逻辑具有垂直和水平缩放

垂直缩放=增加当前计算机上的内存/CPU=增加现有节点池中的节点
水平扩展=添加更多计算机=添加新节点池以达到不同的目的。

来自GCP文档:

节点池是群集中具有相同配置的一组节点

节点池有一个特定的节点类型,它告诉它们可以使用哪种类型的虚拟机作为节点。例如,我可以拥有以下三个节点池:

highmem:4个VCPU,32G内存,无GPU

高CPU:8个VCPU,16G内存,无GPU

gpu:4个VCPU,8G内存,1个Nvidia Tesla gpu

我可以独立扩展这些节点池中的每一个,对于使用大量内存但CPU较少的进程,我的池中可以有3个highmem节点,而对于使用大量CPU但RAM较少的进程,我的highcpu池中只有1个节点。同时,我有一个用于GPU进程(如Tensorflow或图像处理程序)的节点池。通过资源定义中的节点选择器或关联选项完成

因此,拥有不同的节点池使您能够为不同的网络目的使用经过微调的虚拟机。如果您仅限于一个池,那么您将不得不使用具有大量RAM、CPU和GPU的大型虚拟机,这将非常昂贵且效率低下


请注意,节点池并不意味着允许应用程序“隔离”。为了在逻辑上分离应用程序,可以使用名称空间而不是节点池。节点池仅用于管理所使用的资源和虚拟机类型。

当您将新功能添加为微服务时,如何确保它与其他池隔离?它可以在node-pool-a中调度,对吗?还要添加到上面的查询中,master是每个集群或每个节点池一个?每个项目有一个master节点。基本上,从您的角度来看,您将只需要处理一个主节点。如果您使用云服务(如GCP),它们将为您处理主节点。在部署配置中,您可以指定进程将路由到哪些节点/节点池。因此,对于node-pool-a,我会写:``nodeSelector:Focus:node-pool-a```我称之为Focus,您可以拥有任何想要的键/值对。节点池并不意味着将应用程序彼此隔离。Kubernetes集群和节点池实际上是在应用程序之间共享资源的好工具,因为它们的资源使用率会发生波动(一个应用程序现在的使用率较低,所以其他应用程序会以更便宜的价格使用更多的资源)。我也不认为垂直或水平缩放的类比适用。增加节点池中的节点是水平缩放,与垂直缩放不同,因为在一个8G节点池中,不能在两个节点上运行16G应用程序。