有奖捉虫:云通信与企业服务文档专题,速来> HOT
本文介绍如何使用注册节点专线版相关功能。

使用须知

在开始使用注册节点能力前,需要保证服务器和网络满足约束要求,详情请参见 约束条件和网络模式

操作步骤

1. 注册节点安装操作系统

目前注册节点的操作系统仅支持 TencentOS Server 3.1TencentOS Server 2.4(TK4)。具体信息如下:
操作系统名称
说明
下载地址
TencentOS Server 3.1
与 CentOS 8 用户态完全兼容,配套基于社区 5.4 LTS 内核深度优化的 tkernel4 版本。
TencentOS Server 2.4(TK4)
与 CentOS 7 用户态完全兼容,配套基于社区 5.4 LTS 内核深度优化的 tkernel4 版本。
说明
TencentOS Server 是腾讯云针对云场景研发的 Linux 操作系统,提供特定的功能及性能优化,为云服务器实例中的应用程序提供更高的性能及更加安全可靠的运行环境。更多详细介绍,请参见 TencentOS Server

2. NVIDIA-SMI 驱动安装(仅限 GPU 节点)

1. 注册节点(专线版)节点池支持 GPU 节点池,需要用户自行安装 NVIDIA 驱动以及 CUDA。
2. NVIDIA 驱动下载安装请参见:
NVIDIA Tesla 驱动安装 NVIDIA Tesla 驱动
NVIDIA GRID 驱动安装 NVIDIA GRID 驱动
3. 安装 CUDA 请参见:安装 CUDA

3. 注册节点特性支持

对于 TKE 集群不同的网络类型,开启注册节点功能支持的方式有所不同,具体开启步骤参考如下:

3.1 Cilium-Overlay 网络模式集群

云上云下节点统一 Cilium Overlay 的网络,仅支持在网络模型为 Cilium Overlay 的集群中添加注册节点。您可以选择已有的 Cilium Overlay 集群或新建集群。 新建 Cilium Overlay 集群的操作步骤如下:
1. 登录 容器服务管理控制台,选择左侧导航中的集群
2. 在集群管理页面,单击新建。具体操作请参见 创建集群
3. 集群信息中,请参考如下信息进行填写:



容器网络插件:此处需选择 Cilium Overlay。
子网选择:TKE 会在上述子网内创建代理弹性网卡,用于代理注册节点访问云上资源。
4. Cilium Overlay 集群创建完毕后,默认开启注册节点的特性,无需您手动开启。

3.2 GlobalRouter 和 VPC-CNI 模式集群

在这两种网络模式下,需要用户手动开启注册节点(专线版)特性能力,开启方式如下:
1. 登录 容器服务控制台,选择左侧导航中的集群
2. 在集群管理页面,单击集群 ID,进入集群基本信息页面。
3. 节点和网络信息中,单击注册节点能力右侧的

,开启能力。
4. 在开启注册节点能力对话框中,请根据以下信息进行设置:



专线连接:选择开启支持。
子网选择:选择代理访问子网 subnet 网段。
代理访问网段:TKE 会在上述子网内创建代理弹性网卡,用于代理注册节点访问云上资源。
容器网络:目前默认只支持 HostNetwork。
注意:
GR 和 VPC-CNI 模式下,注册节点上的 Pod 仅支持 HostNetwork 网络模式,网络说明请参见 网络模式
5. 单击确认开启,开启成功后,节点和网络信息如下图所示:



6. 单击“支持的节点类型:专线版”右侧的详情,可以查看专线版开启细节。如下图所示:




4. 添加注册节点

创建注册节点池(专线版)

说明
注册节点(专线版)仅支持通过节点池管理,同时专线版支持 GPU 节点,CPU 节点和 GPU 节点在不同的节点池进行管理。
1. 登录 容器服务控制台 ,选择左侧导航栏中的集群
2. 集群管理页面,选择目标集群 ID,进入集群的基本信息页面。
3. 节点管理 > Worker 节点页面,选择节点池,单击新建
4. 选择节点类型为注册节点,单击创建。在新建节点池页面,参考以下提示进行设置。



网络类型:这里因为只开启了“专线连接”,因此选择默认“专线连接”即可;如果同时开启了“专线连接”和“公网连接”,这里选择“专线连接”即可。
节点类型:选择线下 IDC 节点资源类型,CPU 节点和 GPU 节点在不同的节点池进行异构管理。
节点池名称:自定义,可根据业务需求等信息进行命名,方便后续资源管理。
节点池类型:默认为注册节点池类型。
容器网络:默认为 HostNetwork 网络。
容器目录:勾选即可设置容器和镜像存储目录,建议存储到数据盘。例如 /var/lib/docker
运行时组件:容器运行时组件,当前支持 dockercontainerd
运行时版本:容器运行时组件的版本。
封锁初始节点:勾选开启封锁后,将不接受新的 Pod 调度到该节点,需要手动取消封锁的节点,或在自定义数据中执行 取消封锁命令,请按需设置。
Label:单击新增 Label,即可进行 Label 自定义设置。该节点池下所创建的节点均将自动增加此处设置的 Label,可用于后续根据 Label 筛选、管理第三方节点。
Taints:节点属性,通常与 Tolerations 配合使用。此处可为节点池下的所有节点设置 Taints,确保不符合条件的 Pod 不能够调度到这些节点上,且这些节点上已存在的不符合条件的 Pod 也将会被驱逐。 Taints 内容一般由 keyvalueeffect 三个元素组成。其中 effect 可取值通常包含以下三种:
PreferNoSchedule:非强制性条件,尽量避免将 Pod 调度到设置了其不能容忍的 taint 的节点上。
NoSchedule:当节点上存在 taint 时,没有对应容忍的 Pod 一定不能被调度。
NoExecute:当节点上存在 taint 时,对于没有对应容忍的 Pod,不仅不会被调度到该节点上,该节点上已存在的 Pod 也会被驱逐。以设置 Taints key1=value1: PreferNoSchedule 为例,控制台配置如下图所示:


Annotations:单击新增,即可进行 Annotations 自定义设置。
Management:单击新增,即可进行 Management 自定义设置。
Kubelet自定义参数:单击新增,即可对注册节点上的 kubelet 的参数进行自定义设置。
自定义数据:指定自定义数据来配置节点,即当节点启动后运行配置的脚本。需确保脚本的可重入及重试逻辑,脚本及其生成的日志文件可在节点的 /usr/local/qcloud/tke/userscript 路径查看。
5. 单击创建节点池,创建成功后,会显示节点池信息如下




添加专线版注册节点

成功创建注册节点池后,此时节点池内还没有节点,请参考以下步骤添加注册节点:
1. 在节点池名片页面,单击目标节点池 ID。
2. 进入该节点池详情页,单击新建节点,获取导入节点的脚本。
3. 在弹出的对话框中,选择节点初始化资源的下载方式,复制或下载脚本。如下图所示:



公网:默认选中,IDC 节点通过公网直接下载安装脚本文件(文件大小31KB)。
内网:用户 IDC 节点无法访问公网时,经由专线访问内网来下载安装脚本文件。
4. 在您的机器上执行脚本。
注意
脚本下载链接1小时后过期。因为脚本通过 COS 下载,所以您需要确保 IDC 节点能够通过内网/外网访问 COS。
5. 执行如下命令,完成节点添加:
./add2tkectl-cls-m57oxxxp-np-xxxx install
说明
如外部节点上安装有相关 docker、containerd 组件而添加失败的情况,可以先执行以下清理的指令,再进行添加。
./add2tkectl-cls-m57oxxxp-np-xxxx clear