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