tencent cloud

文档反馈

管理第三方节点池

最后更新时间:2022-11-04 17:21:51

    操作场景

    本文介绍如何管理集群中的第三方节点池,包括如何调整第三方节点池和调整节点池中的第三方节点。

    前提条件

    • 创建集群
    • 集群的网络模型为 VPC-CNI-单网卡多IP模式 或者 Cilium-Overlay
    • 集群 Kubernetes 版本为 1.18 及以上版本。

    操作步骤

    开启第三方节点功能

    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 在“集群管理”列表页面,选择目标集群 ID,进入该集群 “基本信息” 页面。
    3. 节点和网络信息中,单击“支持导入第三方节点”右侧的
    4. 在“开启第三方节点功能”中根据实际需求配置相关参数。
    • 子网:节点访问 kube-apiserver 需要通过您的 VPC 弹性网卡,因此需要您提供 VPC 子网,容器服务 TKE 会自动在选定的子网内创建代理弹性网卡。
    • 容器网络插件:针对于云下第三方节点的网络插件,目前支持 Cilium VXLanCilium BGP 两种类型。云上和云下必须是同一类型的网络插件,全是 Underlay 或者全是 Overlay。如云上网络插件是 Cilium-Overlay,则这里默认是 Cilium-Overlay;如云上是 VPC-CNI-单网卡多IP模式(Underlay),则这里默认是 Cilium BGP
    • 容器网络:系统将为第三方节点上运行的 Pod 分配该容器网络地址范围内的 IP 地址,仅当云下的网络插件是 Cilium-BGP 需要填写。
    1. 单击确认开启

    创建第三方节点池

    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 在“集群管理”列表页面,选择目标集群 ID,进入该集群 “Deployment” 页面。
    3. 选择左侧菜单栏中的节点管理 > 节点池,进入“节点池列表”页面。
    4. 单击新建节点池,进入“新建节点池”页面,参考以下提示进行设置。如下图所示:
    • 节点池名称:自定义,可根据业务需求等信息进行命名,方便后续资源管理。
    • 节点池类型:目前支持云服务器虚拟节点第三方节点三种类型。当开启第三方节点功能后,选择第三方节点类型。
    • 容器目录:勾选即可设置容器和镜像存储目录,建议存储到数据盘。例如 /var/lib/docker。
    • 运行时组件:容器运行时组件,当前支持dockercontainerd
    • 运行时版本:容器运行时组件的版本。
    • 封锁初始节点:勾选开启封锁后,将不接受新的 Pod 调度到该节点,需要手动取消封锁的节点,或在自定义数据中执行 取消封锁命令,请按需设置。
    • Label:单击新增Label,即可进行 Label 自定义设置。该节点池下所创建的节点均将自动增加此处设置的 Label,可用于后续根据 Label 筛选、管理第三方节点。
      说明

      必填 Label 说明(仅填写 value,请勿更改 key):

      • tke.cloud.tencent.com/location
      • 如果容器网络模式设置为 Cilium BGP 模式,还需填写如下两组 Label:
      • infra.tce.io/as 为节点所属交换机的 BGP AS 号,请根据业务环境设置。
      • infra.tce.io/switch-ip 为节点所属交换机的交换机 IP,请根据业务环境配置。
    • Taints:节点属性,通常与 Tolerations 配合使用。此处可为节点池下的所有节点设置 Taints,确保不符合条件的 Pod 不能够调度到这些节点上,且这些节点上已存在的不符合条件的 Pod 也将会被驱逐。
      Taints 内容一般由 keyvalueeffect 三个元素组成。其中 effect 可取值通常包含以下三种:
      • PreferNoSchedule:非强制性条件,尽量避免将 Pod 调度到设置了其不能容忍的 taint 的节点上。
      • NoSchedule:当节点上存在 taint 时,没有对应容忍的 Pod 一定不能被调度。
      • NoExecute:当节点上存在 taint 时,对于没有对应容忍的 Pod,不仅不会被调度到该节点上,该节点上已存在的 Pod 也会被驱逐。以设置 Taints key1=value1:PreferNoSchedule 为例,控制台配置如下图所示:
    • 自定义数据:指定自定义数据来配置节点,即当节点启动后运行配置的脚本。需确保脚本的可重入及重试逻辑,脚本及其生成的日志文件可在节点的 /usr/local/qcloud/tke/userscript 路径查看。
    1. 单击创建节点池即可创建第三方节点池。

    新建第三方节点

    成功创建第三方节点池后,此时节点池内还没有节点,请参考以下步骤导入节点:

    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 在“集群管理”列表页面,选择目标集群 ID,进入该集群 “Deployment” 页面。
    3. 选择左侧菜单栏中的节点管理 > 节点池,进入“节点池列表”页面。
    4. 在“节点池名片页”中,单击目标节点池 ID。
    5. 进入该节点池详情页,单击新建节点,获取导入节点的脚本。
    6. 在“初始化脚本”弹窗中,复制或下载脚本,如下图所示:
    7. 在您的机器上执行脚本。
      注意

      脚本下载链接1小时后过期。因为脚本通过 COS 下载,所以需要确保 IDC 节点能够通过内网/外网访问 COS。

    8. 执行如下命令,完成节点添加:
      ./add2tkectl-cls-m57oxxxp-np-xxxx install
      

    编辑第三方节点池

    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 在“集群管理”列表页面,选择目标集群 ID,进入该集群 “Deployment” 页面。
    3. 选择左侧菜单栏中的节点管理 > 节点池,进入“节点池列表”页面。
    4. 在“节点池名片页”中,选择计划修改的类型为第三方节点的节点池,单击编辑
    5. 在“调整第三方节点池配置”弹窗中,支持修改节点池名称、Labels、Taints 等信息。
      注意:

      Labels、Taints 相关的修改会在节点池中的所有第三方节点上生效,如果有特殊调度策略请务必谨慎操作。

    删除第三方节点池

    1. 登录 容器服务控制台,选择左侧导航栏中的集群
    2. 在“集群管理”列表页面,选择目标集群 ID,进入该集群 “Deployment” 页面。
    3. 选择左侧菜单栏中的节点管理 > 节点池,进入“节点池列表”页面。
    4. 选择计划删除节点池名片页右上角的删除
    5. 在“删除第三方节点池”弹窗中,单击确认删除节点池。
      注意
      • 删除第三方节点池后,池内所有第三方节点仅会被移出集群,不会清除节点上运行的 Pod。
      • 删除节点后为了保证安全,建议重装节点或者执行以下命令删除节点上 kube-apiserver 访问配置:
        >rm - rf /etc/kubernetes $HOME/.kube
        
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持