如何计算 Kubernetes 集群的节点可分配资源?



我们有一个集群,其中节点资源不足,导致速度缓慢和过度使用的问题。这迫使我们经常重新启动节点。我们计划实施节点可分配资源策略,以在系统、kubelet 和应用程序 Pod 之间拆分可用的 CPU、内存和临时存储。

在这里遇到了一些关于可分配资源计算的指南。

它没有指定系统和 kubelet 资源之间的分配量。此外,我们处于开放轮班状态,因此不确定其中有多少适用。

正如您提到的,您正在使用OpenShift,您提供的文档来自 GCP。默认要求,参数可能因云提供商规范而异。

不幸的是,我不是OpenShift用户,但您可以在操作系统文档中找到:

为节点组件保留的资源基于两个节点设置:kube-reservedsystem-reserved

你可以在节点配置文件的 kubeletArguments 部分(默认情况下为/etc/origin/node/node-config.yaml文件(中使用一组 = 对(例如,cpu=200m,memory=512Mi(设置这些。

如何计算分配的资源?

分配的资源量根据以下公式计算:

[Allocatable] = [Node Capacity] - [kube-reserved] - [system-reserved]

如果[Allocatable]为负数,则设置为 0。

请查看下面的 OpenShift 文档:分配节点资源、容量管理、集群限制、资源限制

许多因素取决于您要使用的窗格/映像。某些映像可能需要 0.1 个 CPU,但其他映像可能需要 1CPU 才能启动。

您可以通过创建配额、设置Pod请求和限制来限制它。

请记住,您始终可以在每个 Pod 中的 Containers.containerName.Requests 下检查当前的请求/限制:

$ os describe pod <pod-name>

或请求的资源/节点限制

$ os describe node <node-name>

在此描述的底部,您应该获得所有 pod 的要求和限制

Non-terminated Pods:         (6 in total)
Namespace                  Name                                              CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
---------                  ----                                              ------------  ----------  ---------------  -------------  ---
default                    nginx-7cdbd8cdc9-b94r9                            100m (10%)    0 (0%)      0 (0%)           0 (0%)         6m2s
default                    nginx-7cdbd8cdc9-nlsw7                            100m (10%)    0 (0%)      0 (0%)           0 (0%)         6m2s
kube-system                fluentd-gcp-v3.2.0-lwnqn                          100m (10%)    1 (106%)    200Mi (7%)       500Mi (18%)    5h22m
kube-system                kube-proxy-gke-stc1-default-pool-094e5c74-4dzj    100m (10%)    0 (0%)      0 (0%)           0 (0%)         5h22m
kube-system                prometheus-to-sd-lbj57                            1m (0%)       3m (0%)     20Mi (0%)        20Mi (0%)      5h22m
kube-system                traefik-749d86f748-frs7q                          0 (0%)        0 (0%)      0 (0%)           0 (0%)         158m
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource                   Requests    Limits
--------                   --------    ------
cpu                        401m (42%)  1003m (106%)
memory                     220Mi (8%)  520Mi (19%)
ephemeral-storage          0 (0%)      0 (0%)
attachable-volumes-gce-pd  0           0

希望它会有所帮助。

相关内容

最新更新