You need to enable JavaScript to run this app.
导航
kubelet 自定义参数
最近更新时间:2024.10.24 14:09:09首次发布时间:2023.08.29 22:16:57

kubelet 提供了一系列配置用于调整节点行为。容器服务支持节点池内节点的 kubelet 自定义配置。本文介绍如何为节点池内节点添加 kubelet 自定义参数,以及查看节点池 kubelet 自定义参数的方法。

使用限制

  • 升级集群后,已配置的 kubelet 自定义参数不会变更。
  • 默认节点池不支持 kubelet 自定义配置。
  • 配置节点池的 kubelet 参数后,如果选择存量节点参数同步,且存量节点已经配置了 kubelet 参数,则相同参数会被节点池的配置覆盖。

前提条件

支持的 kubelet 参数

目前支持配置如下表所示的 kubelet 自定义参数。

注意

修改 topology-manager-policytopology-manager-scope 和特性门控(feature-gates)中的 QoSResourceManager 参数会重启 kubelet,并且以更改后的策略重新计算容器实例的资源分配,因此可能会导致已经运行的容器实例重启,甚至无法进行资源分配。请谨慎操作。

字段默认值描述

topology-manager-policy

none

拓扑管理策略,取值:

  • none:(默认)禁用拓扑管理策略。
  • restricted:kubelet 仅接受在所请求资源上实现最佳 NUMA(Non-Uniform Memory Access,非一致存储访问结构)的 Pod。
  • best-effort:kubelet 会优先选择在 CPU 和设备资源上实现 NUMA 的 Pod。
  • single-numa-node:kubelet 仅允许在同一个节点的 CPU 和设备资源上实现 NUMA 的 Pod。
topology-manager-scopecontainer拓扑管理策略的资源粒度,取值为 container,表示资源对齐粒度为容器级。
registry-qps5集群从镜像仓库拉取镜像的 QPS 阈值。整数形式,取值范围为 1~50。
registry-burst10集群从镜像仓库拉取镜像的突发阈值,整数形式,取值范围为 1~100。取值必须大于等于registry-qps参数的值。

serialize-image-pulls

true

是否串行拉取镜像,取值:

  • true: 串行拉取镜像。
  • false:(默认)并行拉取镜像,能够提高 Pod 启动速度。

eviction-hard

  • imagefs.available < 15%
  • memory.available < 300Mi
  • nodefs.available < 10%
  • nodefs.inodesFree < 5%

触发 Pod 驱逐操作的一组硬性门限。详细参数解释,请参见 官方文档

kube-api-qps5与 APIServer 通信的每秒查询个数。整数形式,取值范围为 1~100。
kube-api-burst10每秒发送到 APIServer 的突发请求数量上限。整数形式,取值范围为 1~100。取值必须大于等于kube-api-qps参数的值。
feature-gates-特性门控,即描述 Kubernetes 特性的一组键值对。详细说明,请参见下方 特性门控(feature-gates)列表

特性门控(feature-gates)列表

特性门控默认值描述

QoSResourceManager

false

是否启用 QoS 资源管理器,用于支持微拓扑调度。取值如下:

  • true:启用 QoS 资源管理器。
  • false:(默认)不启用 QoS 资源管理器。

注意

目前该特性门控仅支持在 Kubernetes 1.24 且 VKE 版本为 v1.24.15-vke.13 及以上版本的集群中使用。

配置 kubelet 自定义参数

创建集群时配置

您可以在创建集群时,配置 kubelet 自定义参数。
节点池配置 步骤中的 高级配置 模块下配置 kubelet 自定义参数。更多配置,请参见 创建集群
alt

创建节点池时配置

您可以在集群中创建新的节点池,并配置 kubelet 自定义参数。
节点池配置 步骤中的 高级配置 模块下配置 kubelet 自定义参数。更多配置,请参见 创建节点池
alt

配置存量节点池

您可以配置集群中存量节点池的 kubelet 自定义参数。
节点池 页面的目标节点池 操作 列中,选择... > Kubelet 自定义参数,配置 kubelet 自定义参数。更多配置,请参见 管理节点池

alt

存量节点参数同步

说明

  • 在存量节点池中添加 kubelet 自定义参数时,默认仅对新增节点生效,不对存量节点生效。如果您需要对存量节点生效,需要执行本小节的操作。
  • 同步自定义 kubelet 参数到存量节点时,如果存量节点已经配置了 kubelet 参数,则相同参数会被节点池的配置覆盖。
  1. 节点池 页面中,单击目标节点池名称,进入节点池详情页面。
  2. 选择 Kubelet 自定义参数 页签,单击 存量节点参数同步,二次确认后,即可同步自定义参数到存量节点。

alt

  1. 参数同步完成后,在 任务记录列表 中,可以查看同步任务的结果和详情。

alt

查看 kubelet 自定义参数

  1. 登录 容器服务控制台
  2. 在左侧导航栏中单击 集群。单击目标集群名称,进入集群管理页面。
  3. 在左侧导航栏中选择 节点管理 > 节点池
  4. 单击目标节点池名称,选择 Kubelet 自定义参数 页签,查看节点池的 kubelet 参数配置。

alt

说明

您也可以单击 编辑,更新节点池的 kubelet 参数。