tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

新建原生节点

PDF
聚焦模式
字号
最后更新时间: 2025-05-21 12:26:54
本文向您介绍如何通过控制台和 YAML 创建原生节点。

前提条件

已创建 TKE 标准集群。如未创建,请参考 快速创建一个标准集群
说明:
原生节点仅支持通过节点池管理。

通过控制台创建

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



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



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

通过 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:
- test
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 代表原生节点池。
节点池名称
字段名:spec.displayname
字段值: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)
在“机型配置”窗口中参考以下信息按需选择:
可用区:该选项用于过滤所选可用区下可用的实例类型。
机型:支持通过 CPU 核数、内存大小及实例类型进行筛选。
系统盘:存储控制、调度节点运行的系统集合,新建大小设置 > 100GB。
数据盘
字段名:spec.template.spec.providerSpec.value.dataDisks
字段值:
diskSize: 同系统盘
diskType: 同系统盘
fileSystem: ext3/ext4/xfs
mountTarget: /var/lib/containerd(挂载路径)
存储业务数据,推荐格式化挂载。
公网带宽
字段名:spec.template.spec.providerSpec.value.internetAccessible 字段值:详情见 原生节点开启公网访问
公网带宽:开启公网访问需绑定 EIP,详情见 原生节点开启公网访问
主机名
展示字段:metadata.annotation
key: "node.tke.cloud.tencent.com/hostname-pattern"
value: "自定义"
操作系统内部的计算机名,默认为内网IP,节点 hostname 命名和主机名将保持一致。

命名规则:
1. 支持批量连续命名或指定模式串命名,要求 2-40 个字符,仅支持小写字母、数字、连字符 "-" 、点号 ".", 符号不能用于开头或结尾且不能连续使用。
2. 主机名组成形式为:自定义主机名(hostname) + “.节点池id” + ".{R:k}",k 为本次活动内已经创建的实例数量。如:自定义为“work{R:2}”,则批量扩容主机名为“work.节点池id.0”、“work.节点池id.1”以此类推。

注意:当集群“节点hostname命名模式”为手动模式时,节点池创建时才会展示该字段。
ssh 密钥
字段名:spec.template.spec.providerSpec.value.keyIDs
字段值:skey-asxxxx(ssh 密钥 ID)
需通过 ssh 方式登录节点,若现有的密钥不合适,可以新建。
安全组
字段名: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. 多可用区打散:在伸缩组指定的多可用区(即指定多个子网)之间尽最大努力均匀分配节点实例。只有配置了多个子网时该策略才能生效。
移出策略
字段名:spec.deletePolicy
字段值:Random(随机)/Newest(优先移出最新实例)/Oldest(优先移出最旧实例)
1. 随机:缩容时系统会随机选择节点池中的节点进行移除。
2. 优先移出最新实例:缩容时创建时间最晚的节点会被首先选中并移除。
3. 优先移出最旧实例:缩容时创建时间最早的节点会被首先选中并移除。
高级参数
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
字段值:/var/lib/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/PreHook(PostInit)路径查看。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈