我在CentOS 7上创建了一个包含2个节点和一个主节点的Kubernetes集群。当我使用103
时,它会列出节点,一切似乎都在工作。
我的问题是:群集会自动平衡节点之间的资源吗?我的意思是,假设我在主节点(具有512MB内存)上安装了带有WordPress的nginx Web服务器,如果主服务器上的内存使用率几乎已满,它现在会根据需要自动依赖节点吗?或者我应该手动做什么?
它是否还能平衡节点之间的CPU负载?
答案 0 :(得分:1)
Kubernetes不会平衡节点资源。它将根据节点中的可用资源调度工作负载。在您的情况下,如果主节点上的内存已满,如果您想要运行另一个pod,kubernetes将在第二个节点中安排它们。
答案 1 :(得分:1)
sfgroups提到的关键点是pod不能在节点之间拆分,因此当节点上的资源耗尽时,没有“资源平衡”。如果内核运行在内存cgroup限制内,那么在内核中运行的进程将被内核OOM杀死,如果它达到CPU cgroup限制,它将受到限制。
您需要适合您节点的pod,并为每个节点(kubelet和kube-proxy)上运行的守护程序留出空间。
kubernetes所做的唯一自动操作(与您的问题相关)是:1)在适合的节点上调度pod,2)自动调节pod(运行水平pod自动调节器时),以及3)自动调节节点(运行时) cluster autoscaler)。您可能还对复制集和部署的行为感兴趣,后者控制特定应用程序的集群中存在的pod数。