异构kubernetes集群,容器性能差异
heterogeneous kubernetes cluster, container performance difference
假设有一个k8s集群,由个不同硬件规格的节点组成。
然后2个pods分配给2个不同的节点
假设 pod 中的容器指定了 1000m cpu.
这 2 个不同节点上的两个容器 运行 能否显示出不同级别的性能?
更直接地问:在异构的 k8s 集群中,容器是否会由于恰好分配给哪个节点而表现不同(iops、cpu、mem 等)?
是的。如果两个 Pods 都指定例如1000m CPU 并且他们 运行 在不同的节点上,他们都在他们的节点上获得了相当于 1 CPU 核心。如果一个节点比另一个节点快 CPU,那么该节点上的 Pod 相应地快 运行s。
这同样适用于节点的其他硬件特性,例如GPU 的可用性、内存和缓存的速度等
如果您想要更确定的行为,您可以使用标签对节点进行分类或分配 taints to them. Then, on the Pod side, you can influence what node a Pod gets scheduled to with tolerations, node selectors, node affinities, or even a custom scheduler。
假设有一个k8s集群,由个不同硬件规格的节点组成。
然后2个pods分配给2个不同的节点
假设 pod 中的容器指定了 1000m cpu.
这 2 个不同节点上的两个容器 运行 能否显示出不同级别的性能?
更直接地问:在异构的 k8s 集群中,容器是否会由于恰好分配给哪个节点而表现不同(iops、cpu、mem 等)?
是的。如果两个 Pods 都指定例如1000m CPU 并且他们 运行 在不同的节点上,他们都在他们的节点上获得了相当于 1 CPU 核心。如果一个节点比另一个节点快 CPU,那么该节点上的 Pod 相应地快 运行s。
这同样适用于节点的其他硬件特性,例如GPU 的可用性、内存和缓存的速度等
如果您想要更确定的行为,您可以使用标签对节点进行分类或分配 taints to them. Then, on the Pod side, you can influence what node a Pod gets scheduled to with tolerations, node selectors, node affinities, or even a custom scheduler。