上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群(原生节点) - 新建原生节点
容器服务 TKE
腾讯云容器服务 TKE 标准集群(原生节点) - 新建原生节点

文档简介:
本文向您介绍如何通过控制台和 YAML 创建原生节点。 前提条件: 已登录 容器服务控制台。 已创建 TKE 标准集群。如未创建,请参考 快速创建一个标准集群。 说明: 原生节点仅支持通过节点池管理。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
本文向您介绍如何通过控制台和 YAML 创建原生节点。

前提条件

已登录 容器服务控制台
已创建 TKE 标准集群。如未创建,请参考 快速创建一个标准集群
说明
原生节点仅支持通过节点池管理。

通过控制台创建

1. 登录 容器服务控制台,选择左侧导航栏中的集群
2. 在集群列表页中,单击集群 ID,进入该集群详情页。
3. 选择左侧菜单栏中的节点管理 > Worker 节点,在节点池中单击新建。
4. 选择节点类型为原生节点,单击创建
5. 新建页面,根据 创建参数说明 提示进行设置,如下图所示:

6. (可选)单击高级设置,查看或配置更多信息,如下图所示:

7. 单击创建节点池即可。

通过 YAML 创建

原生节点池的 kubernetes 资源如下所示,YAML 字段详情请参见 创建参数说明
		
apiVersion: node.tke.cloud.tencent.com/v1beta1
kind: MachineSet
spec:
type: Native
displayName: mstest
replicas: 2
autoRepair: true
deletePolicy: Random
healthCheckPolicyName: test-all
instanceTypes:
- C3.LARGE8
subnetIDs:
- subnet-xxxxxxxx
- subnet-yyyyyyyy
scaling:
createPolicy: ZonePriority
maxReplicas: 100
template:
spec:
displayName: mtest
runtimeRootDir: /var/lib/containerd
unschedulable: false
metadata:
labels:
key1: "val1"
key2: "val2"
providerSpec:
type: Native
value:
instanceChargeType: PostpaidByHour
lifecycle:
preInit: "echo hello"
postInit: "echo world"
management:
hosts:
- Hostnames:
- lkongtest
IP: 22.22.22.22
nameservers:
- 183.60.83.19
- 183.60.82.98
- 8.8.8.8
metadata:
creationTimestamp: null
securityGroupIDs:
- sg-xxxxxxxx
systemDisk:
diskSize: 50
diskType: CloudPremium

创建参数说明

参数所属模块
参数项
YAML 字段
说明
启动配置
节点池类型
字段名:spec.type
字段值:Native
Native 代表原生节点池。
节点池名称
字段名:metadata.name
字段值:demo-machineset(自定义)
自定义,可根据业务需求等信息进行命名,方便后续资源管理。
计费模式
字段名:spec.template.spec.providerSpec.value.instanceChargeType
字段值:PostpaidByHour(按量付费)/ PrepaidCharge(包年包月)
提供按量计费、包年包月两种计费模式,请根据实际需求进行选择。
机型配置
机型:
字段名:spec.instanceTypes
字段值:S2.MEDIUM4(可参考控制台获取其他机型规格)

系统盘:
字段名:spec.template.spec.providerSpec.value.systemDisk.diskSize/diskType
字段值:
diskSize: 50(系统盘大小,自定义,10 的倍数,最小为 50G) diskType: CloudPremium / CloudSSD(系统盘类型,支持高性能 / SSD)

数据盘
字段名:spec.template.spec.providerSpec.value.dataDisks
字段值:
diskSize: 同系统盘 diskType: 同系统盘 fileSystem: ext3/ext4/xfs mountTarget: /var/lib/containerd(挂载路径)
在“机型配置”窗口中参考以下信息按需选择:
可用区:该选项用于过滤所选可用区下可用的实例类型。详情见 原生节点地域与可用区
机型:支持通过 CPU 核数、内存大小及实例类型进行筛选。
系统盘:存储控制、调度节点运行的系统集合,新建大小设置 > 100GB。
数据盘:存储业务数据,推荐格式化挂载。
安全组
字段名:spec.template.spec.providerSpec.value.securityGroupIDs
字段值:sg-a7msxxx(安全组 ID)
默认为创建集群时所设置的安全组,可根据实际需要进行更换或添加。
数量
字段名:spec.replicas
字段值:7(自定义)
对应节点池内维护的期望节点数量,请根据实际需求进行设置。例如,此处数量填写为5,则节点池将创建5台节点维护。
容器网络
字段名:spec.subnetIDs
字段值:subnet-i2ghxxxx(容器子网 ID)
请根据实际需求选择合适的可用子网。
1. 当您手动调节节点数量时,系统将按照子网列表顺序来尝试创建节点,如果顺序靠前的子网可以创建成功,则总在该子网创建。
2. 若节点池开启了自动伸缩,将根据您配置的扩容策略选择合适的子网进行创建节点。
运维功能
故障自愈
字段名:spec.autoRepair
字段值:true(开启)/ false(关闭)
可选项,推荐开启。该功能可实时检测原生节点上的各种异常情况并提供一定的自愈手段,包含:OS、Runtime、kubelet 异常等。
检查和自愈规则
字段名:spec.healthCheckPolicyName
字段值:test-all(绑定故障自愈 CR 名称)
您可为当前节点池选择不同的故障自愈规则,每个节点池支持绑定一个规则。
自动伸缩
字段名:spec.scaling
开启后 CA 组件对该类节点池进行自动伸缩。
备注:原生节点的自动伸缩功能由容器平台自研实现,普通节点的自动伸缩功能依赖云产品 弹性伸缩
节点数量范围
字段名:spec.scaling.maxReplicas / minReplicas
字段值:
maxReplicas: 7(自定义)
minReplicas: 2(自定义)
节点池内的节点数量受限于该范围内的最小值/最大值,若节点池开启了自动伸缩,原生节点数量将在设定的范围内自动调节。
扩容策略
字段名:spec.scaling.createPolicy
字段值:ZonePriority(首选可用区优先)/ ZoneEquality(多可用区打散)
1. 首选可用区优先:弹性伸缩会在您首选的可用区优先执行扩缩容。若首选可用区无法扩缩容,才会在其他可用区进行扩缩容。
2. 多可用区打散:在伸缩组指定的多可用区(即指定多个子网)之间尽最大努力均匀分配节点实例。只有配置了多个子网时该策略才能生效。
高级参数
Labels
字段名:spec.template.spec.metadata.labels
字段值: key1: “value1”(label 的 key/value 为自定义)
节点属性,方便对节点进行筛选和管理,该节点池下所创建的节点均将自动增加设置的 Label。
Taints
字段名:spec.template.spec.metadata.taints
字段值:effect: NoSchedule/PreferNoSchedule/NoExecute(填写 taints 类型)
节点属性,通常与 Tolerations 配合使用,确保不符合条件的 Pod 不能调度到该节点上,该节点池下所创建的节点均将自动增加设置的 Taints。
容器目录
字段名:spec.template.spec.runtimeRootDir
字段值:/data/containerd(自定义)
勾选即可设置容器和镜像存储目录,例如 /var/lib/
Management

字段名:spec.template.spec.providerSpec.value.management.

kubeletArgs/kernelArgs/hosts/nameservers

字段值:
详情请参见 Management 参数介绍
支持自定义配置 Kubelet 、内核、Hosts、Nameservers 参数,详情请参见 Management 参数介绍
自定义脚本
字段名:spec.template.spec.providerSpec.value.lifecycle.preInit/postInit
字段值:
preInit: "echo hello"(节点初始化前执行脚本,自定义)
postInit: "echo world"(节点初始化后执行脚本,自定义)
指定自定义数据来配置节点,提供节点初始化前节点初始化后两个设置阶段。需确保脚本的可重入及重试逻辑,脚本及其生成的日志文件可在节点的 /usr/local/qcloud/tke/userscript 路径查看。

相似文档
  • 本文向您介绍如何从节点池中删除原生节点,减少节点池管理的节点数目。 注意事项: 原生节点为声明式管理,在不修改节点池节点数量的情况下,直接删除节点会立刻创建新节点到节点池中。 原生节点按照节点池维度分组管理,不支持从节点池移出到集群。 原生节点删除即销毁,节点资源彻底释放,不支持恢复,建议您谨慎操作。
  • 功能概述: 基础设施的不稳定性、环境的不确定性经常会引发不同纬度的系统故障。为了将工作人员从繁重的运维事务中解放出来,腾讯云容器服务团队自研故障自愈功能来帮助运维人员快速定位问题,并通过预置平台运维经验,针对不同检测项提供最小化的自愈动作。
  • kubectl 支持操作: MachineSet: 创建原生节点池: kubectl create -f machineset-demo.yaml 查看原生节点池列表: kubectl get machineset 查看原生节点池 YAML 详情: kubectl describe ms machineset-name
  • 使用说明: 原生节点的自动伸缩功能由容器平台自研实现,普通节点的自动伸缩功能依赖云产品 弹性伸缩 AS。 原生节点池未开启自动伸缩: 初始化节点数量取决于设置的节点数(字段名:replicas)。 用户可以手动调整期望节点数,节点数上限受限于后台默认值 500 和容器子网 IP 数。
  • 概述: 根据 Kubernetes 的设计规范,Pod 运行过程中若需要临时修改容器参数,只能更新 PodSpec 后重新提交,这种方式会触发 Pod 删除重建,很难满足业务侧应对流量突发时无损变配诉求。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部