修改节点池配置
约束与限制
默认节点池DefaultPool不支持如下管理操作。
配置管理
为方便对CCE集群中的Kubernetes配置参数进行管理,CCE提供了配置管理功能,通过该功能您可以对核心组件进行深度配置,更多信息请参见kubelet。
仅支持在v1.15及以上版本的集群中对节点池进行配置,v1.15以下版本不显示该功能。
- 登录CCE控制台。
- 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
- 单击节点池名称后的“配置管理”。
- 在侧边栏滑出的“配置管理”窗口中,根据业务需求修改节点池参数值。
- 单击“确定”,完成配置操作。
kubelet组件配置
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
CPU管理策略配置 |
cpu-manager-policy |
CPU管理策略配置,详情请参见CPU调度。
|
默认:none |
CCE Turbo集群的弹性云服务器-物理机节点池不支持使用CPU管理策略。 |
请求至kube-apiserver的QPS配置 |
kube-api-qps |
与APIServer通信的每秒查询个数。 |
默认:100 |
- |
请求至kube-apiserver的Burst配置 |
kube-api-burst |
每秒发送到APIServer的突发请求数量上限。 |
默认:100 |
- |
kubelet管理的Pod上限 |
max-pods |
Node能运行的Pod最大数量。 |
- |
|
限制Pod中的进程数 |
pod-pids-limit |
每个Pod中可使用的PID个数上限。 |
默认:-1,表示不限制 |
- |
是否使用本地IP作为该节点的ClusterDNS |
with-local-dns |
开启后,会自动在节点的kubelet配置中添加节点默认网卡IP作为首选DNS地址。 |
默认:关闭(参数值为false) |
- |
事件创建QPS限制 |
event-qps |
每秒可生成的事件数量。 |
默认:5 |
- |
事件创建的个数的突发峰值上限 |
event-burst |
突发性事件创建的上限值,允许突发性事件创建临时上升到所指定数量。 |
默认:10 |
- |
允许使用的不安全系统配置 |
allowed-unsafe-sysctls |
允许使用的不安全系统配置。 CCE从1.17.17集群版本开始,kube-apiserver开启了pod安全策略,需要在pod安全策略的allowedUnsafeSysctls中增加相应的配置才能生效(1.17.17以下版本的集群可不配置)。详情请参见Pod安全策略开放非安全系统配置示例。 |
默认:[] |
- |
节点超卖特性 |
over-subscription-resource |
节点超卖特性。 设置为true表示开启节点超卖特性,节点超卖的特性请参见动态资源超卖。 |
|
- |
节点混部特性 |
colocation |
节点混部特性。 设置为true表示开启节点混部特性,节点混部的特性请参见动态资源超卖。 |
|
- |
拓扑管理策略 |
topology-manager-policy |
设置拓扑管理策略。 合法值包括:
|
默认:none |
须知:
请谨慎修改,修改topology-manager-policy和topology-manager-scope会重启kubelet,并且以更改后的策略重新计算容器实例的资源分配,这有可能导致已经运行的容器实例重启甚至无法进行资源分配。 |
拓扑管理策略的资源对齐粒度 |
topology-manager-scope |
设置拓扑管理策略的资源对齐粒度。合法值包括:
|
默认:container |
|
容器指定DNS解析配置文件 |
resolv-conf |
容器指定DNS解析配置文件 |
默认为空值 |
- |
除长期运行的请求之外所有运行时请求的超时时长 |
runtime-request-timeout |
除长期运行的请求(pull、 logs、exec和attach)之外所有运行时请求的超时时长。 |
默认为2m0s |
v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及以上版本的集群支持该参数。 |
是否让kubelet每次仅拉取一个镜像 |
serialize-image-pulls |
串行拉取镜像。
|
|
v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及以上版本的集群支持该参数。 |
每秒钟可以执行的镜像仓库拉取操作限值 |
registry-pull-qps |
镜像仓库的QPS上限。 |
默认为5 取值范围为1~50 |
v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及以上版本的集群支持该参数。 |
突发性镜像拉取的上限值 |
registry-burst |
突发性镜像拉取的上限值,允许镜像拉取临时上升到所指定数量。 |
默认为10 取值范围为1~100,且取值必须大于等于registry-pull-qps的值。 |
v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及以上版本的集群支持该参数。 |
容器的日志文件个数上限 |
container-log-max-files |
每个容器日志文件的最大数量。当存在的日志文件数量超过这个值时,最旧的日志文件将被删除,以便为新的日志留出空间。 |
默认为10 取值范围为2~100 |
v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
容器日志文件在轮换生成新文件时之前的最大值 |
container-log-max-size |
每个容器的日志文件的最大大小。当日志文件达到这个大小时,将会触发日志轮换即关闭当前日志文件并创建新的日志文件以继续记录。 |
默认为50Mi 取值范围为1Mi~4096Mi |
v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
镜像垃圾回收上限百分比 |
image-gc-high-threshold |
当kubelet磁盘达到多少时,kubelet开始回收镜像。 |
默认为80 取值范围为1~100 |
如果需要禁用镜像垃圾回收,请将该参数设置为100。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
镜像垃圾回收下限百分比 |
image-gc-low-threshold |
回收镜像时当磁盘使用率减少至多少时停止回收。 |
默认为70 取值范围为1~100 |
该参数取值不得大于镜像垃圾回收上限百分比。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
节点内存预留 |
system-reserved-mem |
系统内存预留,目的是为OS系统守护进程(如 sshd、udev 等)预留内存资源。 |
默认值:自动计算预留内存数,预留值随节点规格变动,具体请参见节点预留资源策略说明
可选配置如下:
|
kube-reserved-mem,system-reserved-mem之和小于节点池中节点最小内存规格的50%。 |
kube-reserved-mem |
Kubernetes组件内存预留,目的是为Kubernetes系统守护进程(如kubelet、container runtime等)预留内存资源。 |
|||
evictionHard 硬驱逐配置项 |
memory.available |
节点可用内存值 |
固定为100Mi |
关于节点压力驱逐详情请参考节点压力驱逐。
须知:
驱逐配置项相关配置请谨慎修改,不合理的配置可能会导致节点频繁触发驱逐或节点已过载但未触发驱逐。 kubelet可识别以下两个特定的文件系统标识符:
对于共享数据盘,kubelet和容器引擎共用磁盘空间,此类场景建议仅配置nodefs驱逐信号门限或imagefs与nodefs门限配置一致。 |
nodefs.available |
Kubelet 使用的文件系统的可用容量的百分比 |
默认10% 取值范围为1%~99% |
||
nodefs.inodesFree |
Kubelet 使用的文件系统的可用inodes数的百分比 |
默认5% 取值范围为1%~99% |
||
imagefs.available |
容器运行时存放镜像等资源的文件系统的可用容量的百分比 |
默认10% 取值范围为1%~99% |
||
imagefs.inodesFree |
容器运行时存放镜像等资源的文件系统的可用inodes数的百分比 |
默认为空,不设置 取值范围为1%~99% |
||
pid.available |
留给分配 Pod 使用的可用 PID 数的百分比 |
默认10% 取值范围为1%~99% |
||
evictionSoft 软驱逐配置项 |
memory.available |
节点可用内存值。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为100Mi~1000000Mi |
|
nodefs.available |
Kubelet 使用的文件系统的可用容量的百分比。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为1%~99% |
||
nodefs.inodesFree |
Kubelet 使用的文件系统的可用inodes数的百分比。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为1%~99% |
||
imagefs.available |
容器运行时存放镜像等资源的文件系统的可用容量的百分比。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为1%~99% |
||
imagefs.inodesFree |
容器运行时存放镜像等资源的文件系统的可用inodes数的百分比。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为1%~99% |
||
pid.available |
留给分配 Pod 使用的可用 PID 数的百分比。 设置值要求大于相同参数的硬驱逐配置值,且需同时配置对应的驱逐宽限期(evictionSoftGracePeriod)。 |
默认为空,不设置 取值范围为1%~99% |
kube-proxy组件配置
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
系统中最大的连接跟踪表项数目 |
conntrack-min |
系统中最大的连接跟踪表项数目。 可通过以下命令查询: sysctl -w net.nf_conntrack_max |
默认:131072 |
- |
TCP连接在关闭状态下等待的时间 |
conntrack-tcp-timeout-close-wait |
控制TCP连接在关闭状态下等待的时间。 可通过以下命令查询: sysctl -w net.netfilter.nf_conntrack_tcp_timeout_close_wait |
默认:1h0m0s |
- |
容器引擎Docker配置(仅使用Docker的节点池可见)
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
容器umask值 |
native-umask |
默认值为normal,表示启动的容器umask值为0022。 |
默认:normal |
不支持修改 |
单容器可用数据空间 |
docker-base-size |
设置每个容器可使用的最大数据空间。 |
默认:0 |
不支持修改 |
不安全的镜像源地址 |
insecure-registry |
是否允许使用不安全的镜像源地址。 |
false |
不支持修改 |
容器core文件的大小限制 |
limitcore |
容器core文件的大小限制,单位是Byte。 如果不设置大小限制,可设置为infinity。 |
默认:5368709120 |
- |
容器内句柄数限制 |
default-ulimit-nofile |
设置容器中可使用的句柄数上限。 |
默认:{soft}:{hard} |
该值大小不可超过节点内核参数nr_open的值,且不能是负数。 节点内核参数nr_open可通过以下命令获取: sysctl -a | grep nr_open |
镜像拉取超时时间 |
image-pull-progress-timeout |
如果超时之前镜像没有拉取成功,本次镜像拉取将会被取消。 |
默认:1m0s |
该参数在v1.25.3-r0版本开始支持 |
单次拉取镜像层的最大并发数 |
max-concurrent-downloads |
设置拉取镜像层的最大并发数。 |
默认:3 取值范围为1~20 |
该参数如果设置过大,可能导致节点其他业务的网络性能受影响或导致磁盘IO和CPU增高。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
容器日志文件轮换生成新文件的最大值 |
max-size |
容器日志文件开始转储的最大大小。当日志文件达到这个大小时,将会触发日志轮换即关闭当前日志文件并创建新的日志文件以继续记录。 |
默认为50Mi 取值范围为1Mi~4096Mi |
该参数如果设置过小,可能导致重要日志信息的丢失;如果设置过大,则可能占用过多的磁盘空间。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
容器的日志文件个数上限 |
max-file |
容器可以保留的日志文件的最大数量。当存在的日志文件数量超过这个值时,最旧的日志文件将被删除,以便为新的日志留出空间。 |
默认:20 取值范围为2~100 |
该参数如果设置过小,可能导致重要日志信息的丢失;如果设置过大,则可能占用过多的磁盘空间。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
替代镜像仓库配置 |
registry-mirrors |
配置一个或多个镜像仓库,以便在从容器运行时获取镜像时使用替代的镜像仓库。 |
默认:[] 替代的镜像仓库需要是http://或者https://开头的IP地址或域名。 例如,使用自建的镜像仓库地址"http://example.com"和"https://example.com"替代默认仓库,则参数值为["http://example.com,https://example.com"]。 |
须知:
配置错误的替代镜像仓库可能导致容器无法拉取所需镜像。 v1.23.18-r10、v1.25.16-r0、v1.27.16-r0、v1.28.13-r0、v1.29.8-r0、v1.30.4-r0及以上版本的集群支持该参数。 |
容器引擎Containerd配置(仅使用Containerd的节点池可见)
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
容器core文件的大小限制 |
limitcore |
容器core文件的大小限制,单位是Byte。 如果不设置大小限制,可设置为infinity。 |
默认:5368709120 |
- |
容器内句柄数限制 |
default-ulimit-nofile |
设置容器中可使用的句柄数上限。 |
默认:1048576 |
该值大小不可超过节点内核参数nr_open的值,且不能是负数。 节点内核参数nr_open可通过以下命令获取: sysctl -a | grep nr_open |
镜像拉取超时时间 |
image-pull-progress-timeout |
如果超时之前镜像没有拉取成功,本次镜像拉取将会被取消。 |
默认:1m0s |
该参数在v1.25.3-r0版本开始支持 |
insecure_skip_verify |
insecure_skip_verify |
跳过仓库证书验证。 |
默认:false |
不支持修改 |
单次拉取镜像层的最大并发数 |
max-concurrent-downloads |
设置拉取镜像层的最大并发数。 |
默认:3 取值范围为1~20 |
该参数如果设置过大,可能导致节点其他业务的网络性能受影响或导致磁盘IO和CPU增高。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
容器的最大日志行大小 |
max-container-log-line-size |
是容器的最大日志行大小(以字节为单位)。超过限制的日志行将被分成多行。 |
默认:16384 取值范围为1~2097152 |
配置增大会增加containerd内存消耗。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 |
替代镜像仓库配置 |
registry-mirrors |
配置一个或多个镜像仓库,以便在从容器运行时获取镜像时使用替代的镜像仓库。 |
不配置时镜像仓库默认为docker.io,且配置SWR镜像仓库为替代镜像仓库。 镜像仓库需要是IP地址或域名,替代的镜像仓库需要是http://或者https://开头的IP地址或域名。 |
v1.23.17-r0、v1.25.12-r0、v1.27.9-r0、v1.28.7-r0、v1.29.3-r0及以上版本的集群支持该参数。
须知:
配置错误的镜像仓库或者替代镜像仓库可能导致容器无法拉取所需镜像。 |
跳过证书认证的镜像仓库 |
insecure-registries |
控制指定的镜像仓库跳过对安全证书的验证,一般用于与不安全或自签名的镜像仓库建立连接。 |
默认为空 镜像仓库需要是IP地址或域名。 |
v1.23.17-r0、v1.25.12-r0、v1.27.9-r0、v1.28.7-r0、v1.29.3-r0及以上版本的集群支持该参数。 |
网络组件配置(仅CCE Turbo集群可见)
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
节点池网卡预热参数配置开关 |
enable-node-nic-configuration |
是否开启节点池级别的网卡预热。 |
默认:关闭 |
节点池网络组件配置开关关闭后,节点池容器网卡动态预热参数将与集群级别保持一致。 |
nic-threshold |
nic-threshold |
节点池级别的节点绑定容器网卡数低水位:节点绑定容器网卡数高水位 |
默认:0:0 |
说明:
此参数配置废弃中,请采用其他4个容器网卡动态预热参数。 |
节点池级别的节点最少绑定容器网卡数 |
nic-minimum-target |
保障节点最少有多少张容器网卡绑定在节点上。 参数值需为正整数。例如10,表示节点最少有10张容器网卡绑定在节点上。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。 |
默认:10 |
建议配置为大部分节点平时日常运行的Pod数。 |
节点池级别的节点预热容器网卡上限检查值 |
nic-maximum-target |
当节点绑定的容器网卡数超过节点预热容器网卡上限检查值(nic-maximum-target),不再主动预热容器网卡。 当该参数大于等于节点最少绑定容器网卡数(nic-minimum-target)时,则开启预热容器网卡上限值检查;反之,则关闭预热容器网卡上限值检查。 参数值需为正整数。例如0,表示关闭预热容器网卡上限值检查。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。 |
默认:0 |
建议配置为大部分节点平时最多运行的Pod数。 |
节点池级别的节点动态预热容器网卡数 |
nic-warm-target |
当Pod使用完节点最少绑定容器网卡数(nic-minimum-target)后,会始终额外预热多少张容器网卡,只支持数值配置。 当 节点动态预热容器网卡数(nic-warm-target) + 节点当前绑定的容器网卡数 大于 节点预热容器网卡上限检查值(nic-maximum-target) 时,只会预热nic-maximum-target与节点当前绑定的容器网卡数的差值。 |
默认:2 |
建议配置为大部分节点日常10s内会瞬时弹性扩容的Pod数。 |
节点池级别的节点预热容器网卡回收阈值 |
nic-max-above-warm-target |
只有当 节点上空闲的容器网卡数 - 节点动态预热容器网卡数(nic-warm-target) 大于此阈值 时,才会触发预热容器网卡的解绑回收。只支持数值配置。
|
默认:2 |
建议配置为大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容的Pod数 - 大部分节点日常10s内会瞬时弹性扩容的Pod数。 |
节点池Pod安全组配置(仅CCE Turbo集群可见)
名称 |
参数 |
参数说明 |
取值 |
修改说明 |
---|---|---|---|---|
节点池上Pod默认使用的安全组 |
security_groups_for_nodepool |
可填写安全组 ID,不配置则使用集群容器网络的默认安全组,并且最多可同时指定5个安全组ID,中间以英文分号(;)分隔。 优先级低于SecurityGroup资源对象配置的安全组。 |
- |
- |