腾讯云容器服务 TKE 标准集群(原生节点) - 新建原生节点
文档简介:
本文向您介绍如何通过控制台和 YAML 创建原生节点。
前提条件:
已登录 容器服务控制台。
已创建 TKE 标准集群。如未创建,请参考 快速创建一个标准集群。
说明:
原生节点仅支持通过节点池管理。
本文向您介绍如何通过控制台和 YAML 创建原生节点。
前提条件
已登录 容器服务控制台。
已创建 TKE 标准集群。如未创建,请参考 快速创建一个标准集群。
说明
原生节点仅支持通过节点池管理。
通过控制台创建
1. 登录 容器服务控制台,选择左侧导航栏中的集群。
2. 在集群列表页中,单击集群 ID,进入该集群详情页。
3. 选择左侧菜单栏中的节点管理 > Worker 节点,在节点池中单击新建。
4. 选择节点类型为原生节点,单击创建。
5. 在新建页面,根据 创建参数说明 提示进行设置,如下图所示:

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

7. 单击创建节点池即可。
通过 YAML 创建
原生节点池的 kubernetes 资源如下所示,YAML 字段详情请参见 创建参数说明:
apiVersion: node.tke.cloud.tencent.com/v1beta1kind: MachineSetspec:type: NativedisplayName: mstestreplicas: 2autoRepair: truedeletePolicy: RandomhealthCheckPolicyName: test-allinstanceTypes:- C3.LARGE8subnetIDs:- subnet-xxxxxxxx- subnet-yyyyyyyyscaling:createPolicy: ZonePrioritymaxReplicas: 100template:spec:displayName: mtestruntimeRootDir: /var/lib/containerdunschedulable: falsemetadata:labels:key1: "val1"key2: "val2"providerSpec:type: Nativevalue:instanceChargeType: PostpaidByHourlifecycle:preInit: "echo hello"postInit: "echo world"management:hosts:- Hostnames:- lkongtestIP: 22.22.22.22nameservers:- 183.60.83.19- 183.60.82.98- 8.8.8.8metadata:creationTimestamp: nullsecurityGroupIDs:- sg-xxxxxxxxsystemDisk:diskSize: 50diskType: 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 路径查看。
|