约束与限制
默认节点池DefaultPool不支持如下管理操作。
配置管理
为方便对CCE集群中的kubernetes配置参数进行管理,CCE提供了配置管理功能,通过该功能您可以对核心组件进行深度配置,更多信息请参见kubelet。
仅支持在v1.15及以上版本的集群中对节点池进行配置,V1.15以下版本不显示该功能。
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
步骤 3 单击节点池名称后的“更多 > 配置管理”。
步骤 4 在侧边栏滑出的“配置管理”窗口中,根据业务需求修改Kubernetes的参数值:
表 配置管理参数
组件 | 参数 | 详情 | 默认 | 修改限制 |
---|---|---|---|---|
容器引擎Docker配置 | native-umask | `--exec-opt native.umask | normal | 不支持修改 |
docker-base-size | `--storage-opts dm.basesize | 0 | 不支持修改 | |
insecure-registry | 不安全的镜像源地址 | false | 不支持修改 | |
limitcore | 核数限制,节点池中创建的节点总核数不能超过该值 | 5368709120 | - | |
default-ulimit-nofile | 容器内句柄数限制 | {soft}:{hard} | 该值大小不可超过节点内核参数nr_open的值,且不能是负数。 节点内核参数nr_open可通过以下命令获取:sysctl -a |
grep nr_open |
kube-proxy组件配置 | conntrack-min | sysctl -w net.nf_conntrack_max | 131072 | 支持在节点池生命周期中修改 |
conntrack-tcp-timeout-close-wait | sysctl -w net.netfilter.nf_conntrack_tcp_timeout_close_wait | 1h0m0s | ||
kubelet组件配置 | cpu-manager-policy | `--cpu-manager-policy | none | 支持在节点池生命周期中修改 |
kube-api-qps | 与kube-apiserver通信的qps | 100 | ||
kube-api-burst | 与kube-apiserver通信的burst | 100 | ||
max-pods | kubelet管理的pod上限 | 4020 | ||
pod-pids-limit | k8s 限制进程数 | -1 | ||
with-local-dns | 是否使用本地IP作为该节点的ClusterDNS | false | ||
event-qps | 事件创建QPS限制 | 5 | ||
allowed-unsafe-sysctls | 允许使用的不安全系统配置。 CCE从1.17.17集群版本开始,kube-apiserver开启了pod安全策略, 需要在pod安全策略的allowedUnsafeSysctls中增加相应的配置才能生效(1.17.17以下版本的集群可不配置)。 |
[] | ||
kube-reserved-memsystem-reserved-mem | 节点内存预留。 | 随节点规格变动,具体请参见[节点预留资源计算公式]( " ") | kube-reserved-mem,system-reserved-mem之和小于内存的一半 | |
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 | ||
over-subscription-resource | 节点超卖特性。仅弹性云主机-物理机类型的节点池可见,设置为true表示开启节点超卖特性。 | - | - | |
nic-minimum-target | 节点池级别的节点最少绑定容器网卡数 | 默认:10 | ||
nic-maximum-target | 节点池级别的节点预热容器网卡上限检查值 | 默认:0 | ||
nic-warm-target | 节点池级别的节点动态预热容器网卡数 | 默认:2 | ||
nic-max-above-warm-target | 节点池级别的节点预热容器网卡回收阈值 | 默认:2 | ||
容器引擎Containerd配置(仅使用Containerd的节点池可见) | devmapper-base-size | 单容器可用数据空间 | - | 不支持修改 |
limitcore | 核数限制 | 5368709120 | - | |
default-ulimit-nofile | 容器内句柄数限制 | 1048576 | 该值大小不可超过节点内核参数nr_open的值,且不能是负数。 节点内核参数nr_open可通过以下命令获取:sysctl -a |
grep nr_open |
步骤 5 单击“确定”,完成配置操作。
编辑节点池
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
步骤 3 单击节点池名称后的“编辑”,在弹出的“编辑节点池”中,配置以下参数:
表 配置节点池参数
参数 | 参数说明 |
---|---|
节点池名称 | 自定义节点池名称。 |
节点数量 | 请根据业务需求调整节点个数。 |
弹性伸缩 | 默认不开启。单击开启后,节点池将根据业务需求自动创建或删除节点池内的节点,参数设置如下: 节点数上限和节点数下限:您可设置节点数的上限和下限,保证节点数在合理的范围内伸缩。 优先级:该数值表示节点池之间进行弹性扩容的优先级,数值越大优先级越高,如设置为4的节点池比设置为1的节点池优先启动扩容。若多个节点池的值设置相同,如都设置为2,表示这几个节点池之间不分优先级,系统将按最小资源浪费原则进行扩容。 弹性缩容冷却时间:请设置时间,单位为分钟。弹性缩容冷却时间是指当前节点池扩容出的节点多长时间不能被缩容。为保证功能的正常使用,节点池开启弹性扩缩容功能后,请务必安装AutoScaler插件。 |
K8S标签 | 单击“添加标签”可以设置附加到Kubernetes 对象(比如Pods)上的键值对,最多可以添加10条标签使用该标签可区分不同节点, 可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。 |
资源标签 | 通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。 CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。 |
污点(Taints) | 默认为空。支持给节点加Taints来设置反亲和性,每个节点最多配置10条Taints,每条Taints包含以下3个参数: Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。 Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符 Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。Taints的使用请参见管理节点污点(taint)。 |
步骤 4 配置完成后,单击“确定”。
在节点池列表中可查看到节点池状态为“伸缩中”,待状态变为“完成”,节点池参数编辑成功,修改的配置后将同步到节点池下的已有节点。
删除节点池
删除节点池,会先删除节点池中的节点,节点删除后,原有节点上的工作负载实例会自动迁移至其他节点池的可用节点。如果工作负载实例具有特定的节点选择器,且如果集群中的其他节点均不符合标准,则工作负载实例可能仍处于无法安排的状态。
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
步骤 3 单击节点池名称后的“更多 > 删除”。
步骤 4 在弹出的“删除节点池”窗口中,请仔细阅读界面提示。
拷贝节点池
通过CCE控制台可以方便的拷贝现有节点池的配置,从而创建新的节点池。
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
步骤 3 单击节点池名称后的“更多 > 拷贝”。
步骤 4 在弹出的“拷贝节点池”窗口中,可以看到拷贝的节点池配置,您可以根据需要进行修改,确定配置后单击“下一步:规格确认”。
步骤 5 在“规格确认”步骤中再次确认规格并单击“提交”,即可完成节点池的拷贝并创建新的节点池。
迁移节点
您可以将同一个集群下某个节点池中的节点迁移到默认节点池(defaultpool)中,暂不支持将默认节点池(defaultpool)中的节点迁移到其他节点池中,也不支持将自定义节点池中的节点迁移到其他自定义节点池。
步骤 1 登录CCE控制台,单击集群名称进入集群。
步骤 2 在左侧导航栏中选择“节点管理”,并切换至“节点池”页签。
步骤 3 单击待迁移的节点池名称后的“节点列表”。
步骤 4 勾选需要迁移的节点,单击“更多 > 迁移”,将节点批量迁移至默认节点池。
您也可以在单个节点的“操作”栏中,单击“更多 > 迁移”,迁移单个节点。
步骤 5 在弹出的“迁移节点”窗口中进行确认。
说明:
迁移完成后,节点原有资源标签、K8S标签、Taints不受影响。