纳管节点
操作场景
CCE集群支持两种添加节点的方式:创建节点和纳管节点,纳管节点是指将“已有的ECS/BMS加入到CCE集群中”,所纳管节点的计费模式支持“按需计费”和“包年/包月”两种类型。
- 纳管时,如果您选择将所选弹性云服务器的操作系统重置为CCE提供的标准公共镜像,您需要重新设置密码或密钥,原有的密码或密钥将会失效。
- 所选弹性云服务器挂载的系统盘、数据盘都会在纳管时清理LVM信息,包括卷组(VG)、逻辑卷(LV)、物理卷(PV),请确保信息已备份。
- 纳管过程中,请勿在弹性云服务器控制台对所选虚拟机做任何操作。
约束与限制
- 纳管节点支持ECS(弹性云服务器)节点、BMS(裸金属服务器)节点、DeH(专属主机)节点。
前提条件
待纳管的云服务器需要满足以下前提条件:
- 待纳管节点必须状态为“运行中”,未被其他集群所使用,且不携带 CCE 专属节点标签CCE-Dynamic-Provisioning-Node。
- 待纳管节点需与集群在同一虚拟私有云内(若集群版本低于1.13.10,纳管节点还需要与CCE集群在同一子网内)。
- 待纳管节点需挂载数据盘,可使用本地盘(磁盘增强型实例)或至少挂载一块20GiB及以上的数据盘,且不存在10GiB以下的数据盘。关于节点挂载数据盘的操作说明,请参考新增磁盘。
- 待纳管节点规格要求:CPU必须2核及以上,内存必须4GiB及以上,网卡有且仅能有一个。
- 如果使用了企业项目,则待纳管节点需要和集群在同一企业项目下,不然在纳管时会识别不到资源,导致无法纳管。从v1.21.15-r0、v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0集群版本开始,待纳管节点无需和集群在同一企业项目下,纳管后节点的企业项目保持不变。
- 批量纳管仅支持添加相同数据盘配置的云服务器。
- 集群开启IPv6后,只支持纳管所在的子网开启了IPv6功能的节点;集群未开启IPv6,只支持纳管所在的子网未开启IPv6功能的节点。
- CCE Turbo集群要求节点支持Sub-ENI或可以绑定至少16张ENI网卡,具体规格请参见创建节点时控制台上可以选择的节点规格。
- 纳管节点时已分区的数据盘会被忽略,您需要保证节点至少有一个未分区且符合规格的数据盘。
操作步骤
- 登录CCE控制台,进入要纳管节点的集群。
- 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签并单击右上角的“纳管节点”。
- 配置节点参数。
节点配置
表1 节点配置参数 参数
参数说明
选择添加节点池
- 默认节点池DefaultPool:您可以将满足纳管条件的节点添加至集群的默认节点池。
- 自定义节点池:您只需选择满足纳管条件的节点,该节点将使用自定义节点池的基础、网络、高级配置,无需继续填写其他参数,详情请参见纳管节点至节点池。
节点规格
单击添加已有云服务器,选择要纳管的服务器。
可以选择多台云服务器批量纳管,但批量纳管仅支持添加相同规格、相同可用区、相同数据盘配置的云服务器。
如果云服务器有多块数据盘,需要选择其中一块作为供容器运行时和Kubelet组件使用。
容器引擎
CCE支持Docker和Containerd容器引擎,不同的集群类型、集群版本、操作系统可能导致支持的容器引擎类型不同,请根据控制台呈现进行选择。具体场景请参见节点操作系统与容器引擎对应关系。
操作系统
选择操作系统类型,不同类型节点支持的操作系统有所不同。- 公共镜像:请选择节点对应的操作系统。
- 私有镜像:支持使用私有镜像,私有镜像制作方法具体请参见制作CCE节点自定义镜像。
说明:由于业务容器运行时共享节点的内核及底层调用,为保证兼容性,建议节点的操作系统选择与最终业务容器镜像相同或接近的Linux发行版本。
安全加固
等保加固会对身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范进行检查并加固。详情请参见Huawei Cloud EulerOS 2.0等保2.0三级版镜像概述。
登录方式
- 密码
用户名默认为“root”,请输入登录节点的密码,并确认密码。
登录节点时需要使用该密码,请妥善管理密码,系统无法获取您设置的密码内容。
- 密钥对
选择用于登录本节点的密钥对,支持选择共享密钥。
密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建,创建密钥对操作步骤请参见创建密钥对。
- 使用镜像密码(当节点类型为弹性云服务器虚拟机或物理机,且操作系统选择私有镜像时支持)
保留所选择镜像的密码。为了保证您的正常使用,请确保所选择镜像中已经设置了密码。
存储配置
配置节点云服务器上的存储资源,方便节点上的容器软件与容器应用使用。表2 存储配置参数 参数
参数说明
系统盘
直接使用云服务器的系统盘。
系统组件存储
选择系统组件的存储位置:
- 数据盘:必须添加一块默认数据盘,供容器运行时和Kubelet组件使用,您可以自行设置数据盘的规格为20GiB-32768GiB之间的数值,缺省值为100GiB。该数据盘不能被删除卸载,否则会导致节点不可用。
- 系统盘:CCE将下载的镜像、容器的临时存储、容器的stdout标准输出日志等资源都存储在系统盘中,过多占用系统盘可能影响节点运行稳定性。
说明:v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群中支持选择系统组件的存储位置,且配套使用CCE节点故障检测插件时需安装1.19.2及以上版本的插件。
数据盘
- 如果“系统组件存储”选择“数据盘”,至少需要添加一块默认数据盘,供容器运行时和Kubelet组件使用,该数据盘不能被删除卸载,否则会导致节点不可用。v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0以下版本的集群支持。
- 如果“系统组件存储”选择“系统盘”,则可以不添加默认数据盘。所有数据盘均为普通数据盘,您可以设置数据盘的规格为10GiB-32768GiB之间的数值,缺省值为100GiB。v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0及以上版本的集群支持。
单击后方的“展开高级设置”可设置数据盘空间分配,对数据盘上存在的容器引擎、镜像、临时存储等进行空间划分,避免因磁盘空间不足导致业务异常。数据盘空间分配详细说明请参见默认数据盘空间分配说明。
其他数据盘默认情况直接创建为裸盘,不做任何处理。您也可以展开高级配置,将磁盘挂载到指定目录。另外还可以作为持久存储卷或临时存储卷,具体使用请参见本地持久卷和本地临时卷。
高级配置
表3 高级配置参数 参数
参数说明
资源标签
通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。最多可以添加8条资源标签。
您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。具体请参见创建预定义标签。
CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签。
K8S标签(Labels)
单击“添加标签”可以设置附加到Kubernetes 对象(比如Pods)上的键值对,最多可以添加20条标签。
使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。详细请参见Labels and Selectors。
K8S污点(Taints)
默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点,每条污点包含以下3个参数:- Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。
- Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。
- Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。
须知:- 污点配置时需要配合Pod的toleration使用,否则可能导致扩容失败或者Pod无法调度到扩容节点。
- 节点池创建后可单击列表项的“编辑”修改配置,修改后将同步到节点池下的已有节点。
最大实例数
节点最大可以正常运行的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。
该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。
安装前执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。
脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。
安装后执行脚本
请输入脚本命令,命令中不能包含中文字符。脚本命令会进行Base64转码。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。
脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。
K8s节点名称
K8s节点名称,即节点YAML文件中的“metadata.labels.kubernetes.io/hostname”标签值,支持以下两种配置。- 与节点私有IP保持一致:默认为节点私有IP。
- 与云服务器名称保持一致:将节点配置中配置的自定义云服务器名称作为K8s节点名称。由于云服务器名称可能存在重名,为避免K8s节点名称冲突,系统将在名称后自动添加五位随机字符后缀。
须知:
- 该功能在集群版本为v1.23.4-r0及以上时支持配置。
- 仅支持在创建(纳管)时将节点云服务器名称指定为K8s节点名称。创建(纳管)完成后,K8s节点名称无法修改,详情请参见云服务器名称、节点名称与K8s节点名称说明。
- 如您在创建(纳管)选择将云服务器名称指定为K8s节点名称, 集群已有节点将仍使用私有IP作为K8s节点名称。
该场景下,存在部分K8s节点名称与私有IP不一致的情况,对于业务场景中将私有IP和K8s节点名称混用的场景,需做好适配。例如,在设置节点亲和调度时,不能将节点私有IP作为节点名称配置调度策略。
如您需要将已有节点的K8s节点名称统一为“与云服务器名称保持一致”,您可将已有节点从集群中移除,并重新纳管。执行节点移除、纳管操作前,请您充分了解节点移除及纳管可能带来的业务影响。
- 单击“下一步:规格确认”,确认已阅读并知晓华为云的云容器引擎服务声明,并单击“提交”。