本文介绍如何使用注册节点公网版相关功能。
使用须知
注意:
由于腾讯云 CLB 服务当前已经默认域名化,详情请参见 域名化公网负载均衡上线公告;同时将不允许用户直接使用平台侧提供的默认域名进行访问,详情请参见 域名化公网负载均衡域名升级公告。因此,如果您需要使用注册节点公网版,需要处理域名相关工作,请参见 配置负载均衡的转发域名。
若您需要自行在腾讯云注册自定义域名(或者将域名迁移到腾讯云),同时添加 CNAME 解析到 CLB 的默认域名,详情请参见以下操作步骤。
前提条件
注册节点安装操作系统
目前注册节点的操作系统仅支持 TencentOS Server 3.1 和 TencentOS 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。
操作步骤
步骤1:创建 TKE 标准集群
2. 当前只支持 Global Router 容器网络的集群开启注册节点公网版,在创建集群时,您需要在容器网络配置 > 容器网络插件中选择 GlobalRouter 模式。




警告:
注册节点(公网版)的容器网络配置创建好后,不支持修改。
请合理规划好容器网络段,和单节点 Pod 数量上限值,确保当前容器网络配置下,集群最多容纳的节点数量满足业务需求。
如果超过网络规划承载的节点数,需要通过重建集群或者重建节点的方式进行业务迁移后方可扩容。
步骤2:添加普通节点
注册节点公网版需要腾讯云普通节点做网络代理,用于连接注册节点和集群 api-server 之间的网络访问。您可以参考以下步骤添加普通节点:
1. 在集群管理页面,选择集群 ID,进入集群的基本信息页面。
2. 在节点管理 > 节点中,选择更多操作 > 新建普通节点。如下图所示:


3. 在新建节点管理中,请参考以下提示进行设置:

推荐配置 | 机型:规格大于2核4G。 |
云服务器数量:2。 | |
公网带宽:≥10Mbps。 | |
必须配置 | 安全组:安全组入站规则放通 TCP 和 UDP 协议 0.0.0.0/0 来源的 30000 - 32768 端口地址段,用于 LoadBalancer 类型的 Service 经过 NodePort 转发。详情请参见 容器服务安全组设置。 |
步骤3:开启注册节点公网版
说明:
根据 使用须知,需要首先准备好对外服务的 CLB 自定义域名,本文档示例为:
test.example.io。参考 配置负载均衡的转发域名 文档,您需要在腾讯云上购买此域名,或者将域名从其他服务商迁移到腾讯云,同时您还需要将此域名进行备案,后续才可以正常进行配置访问。开启方式如下:
1. 在集群管理页面,单击集群 ID,进入集群基本信息页面。
2. 在基础信息 > 节点和网络信息中,单击注册节点能力右侧的
,开启能力。

3. 在开启注册节点能力对话框中,在“公网连接”处选择开启支持。如下图所示:
注意:
这里需要填入您确认好的自定义域名,本文档使用 test.example.io 来进行示例。TKE 会默认将此域名进行签名,保证外网节点可以通过此域名访问到云上集群控制面。


4. 单击确认开启,开启成功后,节点和网络信息如下图所示:


5. 单击支持的节点类型:公网版右侧的详情,可以查看公网版开启细节,公网连接地址即为 CLB 配置的默认访问域名,如下图所示:


6. 在腾讯云云解析 DNS 中配置 A 记录解析,保证自定义域名 test.example.io 可以解析到上图中的公网连接地址,如下图所示:

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


参数项 | 描述 |
网络类型 | 这里因为只开启了公网连接,因此选择默认“公网连接”即可;如果同时开启了“专线连接”和“公网连接”,这里选择“公网连接”即可。 |
节点类型 | 注册节点公网版当前暂时只支持 CPU 节点。 |
节点池名称 | 自定义,可根据业务需求等信息进行命名,方便后续资源管理。 |
节点池类型 | 默认为注册节点池类型。 |
容器目录 | 勾选即可设置容器和镜像存储目录,建议存储到数据盘。例如 /var/lib/docker。 |
运行时组件 | 容器运行时组件,1.24以前支持 docker 和 containerd,1.24版本及以上仅支持 containerd。 |
运行时版本 | 容器运行时组件的版本。 |
封锁初始节点 | |
Label | 单击新增 Label,即可进行 Label 自定义设置。该节点池下所创建的节点均将自动增加此处设置的 Label,可用于后续根据 Label 筛选、管理第三方节点。 |
Taints | 节点属性,通常与 Tolerations 配合使用。此处可为节点池下的所有节点设置 Taints,确保不符合条件的 Pod 不能够调度到这些节点上,且这些节点上已存在的不符合条件的 Pod 也将会被驱逐。Taints 内容一般由 key、value 及 effect 三个元素组成。其中 effect 可取值通常包含以下三种:PreferNoSchedule:非强制性条件,尽量避免将 Pod 调度到设置了其不能容忍的 taint 的节点上。 NoSchedule:当节点上存在 taint 时,没有对应容忍的 Pod 一定不能被调度。 NoExecute:当节点上存在 taint 时,对于没有对应容忍的 Pod,不仅不会被调度到该节点上,该节点上已存在的 Pod 也会被驱逐。以设置 Taints key1=value1: PreferNoSchedule 为例,控制台配置如下图所示:![]() |
Annotations | 单击新增,即可进行 Annotations 自定义设置。 |
自定义数据 | 指定自定义数据来配置节点,即当节点启动后运行配置的脚本。需确保脚本的可重入及重试逻辑,脚本及其生成的日志文件可在节点的 /usr/local/qcloud/tke/userscript 路径查看。 |
5. 单击创建节点池,创建成功后,会显示节点池信息如下:


步骤5:添加公网版注册节点
成功创建注册节点池(公网版)后,此时节点池内还没有节点,请参考以下步骤添加注册节点:
1. 在节点池名片页面,单击目标节点池 ID。

2. 进入该节点池详情页,单击新建节点,获取导入节点的脚本。

3. 在初始化脚本中,选择节点初始化资源的下载方式,复制或下载脚本。如下图所示:

注意:
注册节点(公网版)当前只支持通过“公网”获取,因此必须保证接入的节点能够访问此公网链接。同时此下载链接有效期为1小时,请在有效期内使用该链接下载注册脚本。
4. 在您的机器上执行命令,下载 edgectl 脚本,并执行如下命令,完成节点添加:
#注册前环境检查./edgectl check#执行注册./edgectl install [-n <nodename>] [-i <flannel-eth>]#nodename 指定接入节点在集群中的名称#flannel-eth 指定接入节点的主网卡,flannel 会基于此网卡实现 pod 跨节点互通
说明:
如注册节点上安装有相关 docker、containerd 组件而添加失败的情况,可以先执行以下清理的指令,再进行添加。
./edgectl clear
最佳实践
注册节点公网版开启后会默认在 edge-system 命名空间下部署 tunnel-proxy 的 Pod。该 Pod 内包含 api-proxy 容器,用于作为注册节点和 API Server 的访问代理。为了尽量少占用用户资源,默认的 req/limit 设置如下:


如果用户需要添加的节点数超过5个,建议在云上购买大规格机器,推荐为3台4c/8g的机器,并修改 api-proxy 容器的 req/limit 配置。




