云服务器内容精选

  • 排查思路 请根据节点池扩容失败的具体事件信息确定问题原因,如表1所示。 表1 节点池扩容失败 事件信息 问题原因 解决方案 ...call fsp to query keypair fail, error code : Ecs.0314, reason is : the keypair *** does not match the user_id ***... 该问题可能由以下原因引起: 创建节点池时使用的密钥对被删除。 创建节点池时使用的密钥对为私有密钥对,其他用户无法使用该密钥对创建节点。 无法获取节点池使用的密钥对 {"error":{"message":"encrypted key id [***] is invalid.","code":"Ecs.0912"}} 该问题可能由以下原因引起: 创建节点池输入的KMS密钥ID不存在。 创建节点池输入的KMS密钥ID为他人密钥,但他人未给您授权。 KMS密钥ID非法
  • 无法获取节点池使用的密钥对 当扩容节点池失败时,事件中包含Ecs.0314错误,表明无法查询到节点池使用的密钥对,导致创建云服务器失败。 ...call fsp to query keypair fail, error code : Ecs.0314, reason is : the keypair *** does not match the user_id ***... 该问题可能由以下原因引起: 原因一:创建节点池时使用的密钥对被删除。 原因二:用户使用私有密钥对创建节点池,而其他用户无法使用该私有密钥对创建节点,导致节点池扩容失败。 解决方案: 对于原因一引起的扩容失败,您可以创建一个新的密钥对,并使用该密钥对创建新的节点池。 对于原因二引起的扩容失败,该节点池只能通过私有密钥对的创建者进行扩容。您也可以使用其他密钥对创建一个新的节点池。
  • KMS密钥ID非法 当扩容节点池失败时,事件中包含Ecs.0912错误: {"error":{"message":"encrypted key id [***] is invalid.","code":"Ecs.0912"}} 该问题可能由以下原因引起: 原因一:创建节点池输入的KMS密钥ID不存在。 原因二:创建节点池输入的KMS密钥ID为他人密钥,但他人未给您授权。 解决方案: 对于原因一引起的扩容失败,确保您输入密钥ID存在。 对于原因二引起的扩容失败,请使用已给您授权的共享密钥ID。
  • 配置管理 为方便对CCE集群中的Kubernetes配置参数进行管理,CCE提供了配置管理功能,通过该功能您可以对核心组件进行深度配置,更多信息请参见kubelet。 仅支持在v1.15及以上版本的集群中对节点池进行配置,V1.15以下版本不显示该功能。 登录CCE控制台。 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。 单击节点池名称后的“配置管理”。 在侧边栏滑出的“配置管理”窗口中,根据业务需求修改Kubernetes的参数值: 表1 kubelet组件配置 名称 参数 参数说明 取值 修改说明 CPU管理策略配置 cpu-manager-policy CPU管理策略配置,详情请参见CPU调度。 none:关闭工作负载实例独占CPU的功能,优点是CPU共享池的可分配核数较多。 static:开启工作负载实例独占CPU,适用于对CPU缓存和调度延迟敏感的场景。 enhanced-static:在支持CPU独占的基础上,增强支持给Burstable Pods配置CPU优先使用核,适用于波峰、波谷相差大且大部分时间处于波谷状态的工作负载。 默认:none - 请求至kube-apiserver的QPS配置 kube-api-qps 与APIServer通信的每秒查询个数。 默认:100 - 请求至kube-apiserver的Burst配置 kube-api-burst 每秒发送到APIServer的突发请求数量上限。 默认:100 - kubelet管理的Pod上限 max-pods Node能运行的Pod最大数量。 CCE Standard集群:由节点最大实例数设置决定。 CCE Turbo集群:由节点网卡数量决定。 - 限制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表示开启节点超卖特性,节点超卖的特性请参见动态资源超卖。 集群版本为v1.23.9-r0、v1.25.4-r0以下:默认为开启(参数值为true) 集群版本为v1.23.9-r0、v1.25.4-r0、v1.27-r0、v1.28.1-r0及以上:默认为关闭(参数值为false) - 节点混部特性 colocation 节点混部特性。 设置为true表示开启节点混部特性,节点混部的特性请参见动态资源超卖。 集群版本为v1.23.9-r0、v1.25.4-r0以下:默认为开启(参数值为true) 集群版本为v1.23.9-r0、v1.25.4-r0、v1.27-r0、v1.28.1-r0及以上:默认为关闭(参数值为false) - 拓扑管理策略 topology-manager-policy 设置拓扑管理策略。 合法值包括: restricted:kubelet 仅接受在所请求资源上实现最佳 NUMA对齐的Pod。 best-effort:kubelet会优先选择在 CPU 和设备资源上实现NUMA对齐的Pod。 none(默认):不启用拓扑管理策略。 single-numa-node:kubelet仅允许在 CPU和设备资源上对齐到同一NUMA节点的Pod。 默认:none 须知: 请谨慎修改,修改topology-manager-policy和topology-manager-scope会重启kubelet,并且以更改后的策略重新计算容器实例的资源分配,这有可能导致已经运行的容器实例重启甚至无法进行资源分配。 拓扑管理策略的资源对齐粒度 topology-manager-scope 设置拓扑管理策略的资源对齐粒度。合法值包括: container (默认):对齐粒度为容器级 pod:对齐粒度为Pod级 默认: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 串行拉取镜像。 关闭:建议值,以支持并行拉取镜像,提高Pod启动速度。 开启:支持串行拉取镜像。 集群版本为v1.21.12-r0、v1.23.11-r0、v1.25.6-r0、v1.27.3-r0、v1.28.1-r0以下:默认为开启(参数值为true) 集群版本为v1.21.12-r0、v1.23.11-r0、v1.25.6-r0、v1.27.3-r0、v1.28.1-r0及以上:默认为关闭(参数值为false) 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可识别以下两个特定的文件系统标识符: nodefs:节点的主要文件系统,用于本地磁盘卷、不受内存支持的 emptyDir 卷、日志存储等。 例如,nodefs 包含 /var/lib/kubelet/。 imagefs:容器引擎使用的文件系统分区。 对于共享数据盘,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% 表2 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 - 表3 网络组件配置(仅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) 大于此阈值 时,才会触发预热容器网卡的解绑回收。只支持数值配置。 调大此值会减慢空闲容器网卡的回收,加快Pod的启动速度,但会降低IP地址的利用率,特别是在IP地址紧张的场景,请谨慎调大。 调小此值会加快空闲容器网卡的回收,提高IP地址的利用率,但在瞬时大量Pod激增的场景,部分Pod启动会稍微变慢。 默认:2 建议配置为大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容的Pod数 - 大部分节点日常10s内会瞬时弹性扩容的Pod数。 表4 节点池Pod安全组配置(仅CCE Turbo集群可见) 名称 参数 参数说明 取值 修改说明 节点池上Pod默认使用的安全组 security_groups_for_nodepool 可填写安全组 ID,不配置则使用集群容器网络的默认安全组,并且最多可同时指定5个安全组ID,中间以英文分号(;)分隔。 优先级低于SecurityGroup资源对象配置的安全组。 - - 表5 容器引擎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及以上版本的集群支持该参数。 表6 容器引擎Containerd配置(仅使用Containerd的节点池可见) 名称 参数 参数说明 取值 修改说明 单容器可用数据空间 devmapper-base-size 设置每个容器可使用的最大数据空间。 默认:0 不支持修改 容器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及以上版本的集群支持该参数。 单击“确定”,完成配置操作。
  • 约束与限制 仅v1.19及以上版本的集群支持修改容器引擎、操作系统、系统盘/数据盘大小、数据盘空间分配、安装前/后执行脚本配置。 修改节点池资源标签、容器引擎、操作系统、安装前/后执行脚本时,修改后的配置仅对新增节点生效,存量节点如需同步配置,需要手动重置存量节点。 修改节点池系统盘/数据盘大小、数据盘空间分配则仅对新增节点生效,即使重置存量节点也无法同步配置。 修改K8s标签和污点数据会根据“存量节点标签及污点”开关状态决定是否自动同步已有节点,无需重置节点。
  • 问题根因 出现该问题的原因是Kubernetes在处理Event事件时,为了后端服务etcd的可用性,会对事件进行限流、聚合、计数的预处理,因此Kubernetes Event事件并非100%打印,在遇到大批量打印相同事件时,可能会出现上述问题。 以上逻辑通过Kubernetes源码中的EventCorrelate方法实现,您可以查看社区的设计方案了解详情。 该问题为Kubernetes设计机制导致,因此您可以无需关注。
  • 节点池Pod安全组配置 节点池中的节点上运行的 Pod 的安全组配置,可填写安全组 ID。与工作负载详情页面的安全组策略一起实现对集群下负载 Pod 网络访问控制。 参数名 取值范围 默认值 是否允许修改 作用范围 security_groups_for_nodepool UUID列表,最大支持配置5个。 禁止重复 NULL 允许 CCE Turbo 控制台上创建节点池时不允许指定,支持在节点池创建后在节点池配置管理中配置。 通过yangtse-agent的配置管理生效
  • 节点池Pod安全组配置 节点池中的节点上运行的 Pod 的安全组配置,可填写安全组 ID。与工作负载详情页面的安全组策略一起实现对集群下负载 Pod 网络访问控制。 参数名 取值范围 默认值 是否允许修改 作用范围 security_groups_for_nodepool UUID列表,最大支持配置5个。 禁止重复 NULL 允许 CCE Turbo 控制台上创建节点池时不允许指定,支持在节点池创建后在节点池配置管理中配置
  • 简介 为帮助您更好地管理Kubernetes集群内的节点,云容器引擎CCE引入节点池概念。节点池是集群中具有相同配置的一组节点,一个节点池包含一个节点或多个节点。 您可以在CCE控制台创建新的自定义节点池,借助节点池基本功能方便快捷地创建、管理和销毁节点,而不会影响整个集群。新节点池中所有节点的参数和类型都彼此相同,您无法在节点池中配置单个节点,任何配置更改都会影响节点池中的所有节点。 通过节点池功能您还可以实现节点的动态扩缩容(仅按需计费的节点池支持): 当集群中出现因资源不足而无法调度的实例(Pod)时,自动触发扩容,为您减少人力成本。 当满足节点空闲等缩容条件时,自动触发缩容,为您节约资源成本。 本章节介绍节点池在云容器引擎(CCE)中的工作原理,以及如何创建和管理节点池。
  • 功能点及注意事项 功能点 功能说明 注意事项 创建节点池 新增节点池。 单个集群不建议超过100个节点池。 删除节点池 删除节点池时会先删除节点池中的节点,删除包周期节点池会先将节点迁移到默认节点池中,原有节点上的工作负载实例会自动迁移至其他节点池的可用节点。 如果工作负载实例具有特定的节点选择器,且如果集群中的其他节点均不符合标准,则工作负载实例可能仍处于无法安排的状态。 节点池开启弹性伸缩 开启弹性伸缩后,节点池将根据集群负载情况自动创建或删除节点池内的节点。 节点池中的节点建议不要放置重要数据,以防止节点被弹性缩容,数据无法恢复。 节点池关闭弹性伸缩 关闭弹性伸缩后,节点池内节点数量不随集群负载情况自动调整。 / 调整节点池大小 支持直接调整节点池内节点个数。若减小节点数量,将从现有节点池内随机缩容节点。 开启弹性伸缩后,不建议手动调整节点池大小。 调整节点池配置 可修改节点池名称、节点个数,删除或新增K8s标签、Taints及资源标签,调整节点池磁盘配置、操作系统、容器引擎等配置。 删除或新增K8s标签和Taints会对节点池内节点全部生效,可能会引起Pod重新调度,请谨慎变更。 移出节点池内节点 可以将同一个集群下某个节点池中的节点迁移到默认节点池(defaultpool)中 暂不支持将默认节点池(defaultpool)中的节点迁移到其他节点池中,也不支持将自定义节点池中的节点迁移到其他自定义节点池。 拷贝节点池 可以方便的拷贝现有节点池的配置,从而创建新的节点池。 / 配置kubernetes参数 通过该功能您可以对核心组件进行深度配置。 本功能仅支持在v1.15及以上版本的集群中对节点池进行配置,V1.15以下版本不显示该功能。 默认节点池DefaultPool不支持修改该类配置。
  • 将工作负载部署到特定节点池 在定义工作负载时,您可以间接的控制将其部署在哪个节点池上。 例如,您可以通过CCE控制台工作负载页面的“调度策略”设置工作负载与节点的亲和性,强制将该工作负载部署到特定节点池上,从而实现该工作负载仅在该节点池中的节点上运行的目的。如果您需要更好地控制工作负载实例的调度位置,您可以使用调度策略(亲和与反亲和)章节中关于工作负载与节点的亲和或反亲和策略相关说明。 您也可以为容器指定资源请求,工作负载将仅在满足资源请求的节点上运行。 例如,如果工作负载定义了需要包含四个CPU的容器,则工作负载将不会选择在具有两个CPU的节点上运行。
  • 响应示例 状态码: 200 表示获取指定节点池成功。 { "kind" : "NodePool", "apiVersion" : "v3", "metadata" : { "name" : "lc-it-nodepool-79796", "uid" : "99addaa2-69eb-11ea-a592-0255ac1001bb" }, "spec" : { "type" : "vm", "nodeTemplate" : { "flavor" : "s6.large.2", "az" : "******", "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" }, "rootVolume" : { "volumetype" : "SAS", "size" : 40 }, "dataVolumes" : [ { "volumetype" : "SAS", "size" : 100, "extendParam" : { "useType" : "docker" } } ], "publicIP" : { "eip" : { "bandwidth" : { } } }, "nodeNicSpec" : { "primaryNic" : { "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a" } }, "billingMode" : 0, "extendParam" : { "maxPods" : 110 }, "k8sTags" : { "cce.cloud.com/cce-nodepool" : "lc-it-nodepool-79796" } }, "autoscaling" : { }, "nodeManagement" : { } }, "status" : { "phase" : "Deleting", "jobId" : "3281fa02-69ee-11ea-a592-0255ac1001bb" }}
  • URI GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见如何获取接口URI中参数。 cluster_id 是 String 集群ID,获取方式请参见如何获取接口URI中参数。 nodepool_id 是 String 节点池ID