乐趣区

关于kubernetes:K8S-性能优化K8S-Node-参数调优

前言

K8S 性能优化系列文章,本文为第四篇:Kubernetes Node 性能优化参数最佳实际。

系列文章:

  1. 《K8S 性能优化 – OS sysctl 调优》
  2. 《K8S 性能优化 – K8S APIServer 调优》
  3. 《K8S 性能优化 – 大型集群 CIDR 配置》

两个参数

管制能够为 K8S Node 调度的最大 pod 数量的两个参数: podsPerCoremaxPods

当两个参数都被设置时,其中较小的值限度了节点上的 pod 数量。超过这些值可导致:

  • CPU 使用率减少。
  • 减慢 pod 调度的速度。
  • 依据节点中的内存数量,可能呈现内存耗尽的问题。
  • 耗尽 IP 地址池。
  • 资源适量应用,导致用户应用程序性能变差。

⚠️ 重要

在 Kubernetes 中,蕴含单个容器的 pod 理论应用两个容器。第二个容器用来在理论容器启动前设置联网 (pause)。因而,运行 10 个 pod 的零碎实际上会运行 20 个容器。

podsPerCore 依据节点中的处理器内核数来设置节点可运行的 pod 数量。例如:在一个有 4 个处理器内核的节点上将 podsPerCore 设为 10,则该节点上容许的最大 pod 数量为 40。

kubeletConfig:
  podsPerCore: 10

podsPerCore 设置为 0 可禁用这个限度。默认为 0podsPerCore 不能超过 maxPods

maxPods 把节点能够运行的 pod 数量设置为一个固定值,而不须要思考节点的属性。

 kubeletConfig:
    maxPods: 250

EOF

退出移动版