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:- testIP: 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 代表原生节点池。 |
| 节点池名称 | 字段名: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(挂载路径) | 存储业务数据,推荐格式化挂载。 |
| 公网带宽 | ||
| 主机名 | 展示字段: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. 多可用区打散:在伸缩组指定的多可用区(即指定多个子网)之间尽最大努力均匀分配节点实例。只有配置了多个子网时该策略才能生效。 |
高级参数 | 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 字段值: | |
| 自定义脚本 | 字段名:spec.template.spec.providerSpec.value.lifecycle.preInit/postInit 字段值: preInit: "echo hello"(节点初始化前执行脚本,自定义) postInit: "echo world"(节点初始化后执行脚本,自定义) | 指定自定义数据来配置节点,提供节点初始化前和节点初始化后两个设置阶段。需确保脚本的可重入及重试逻辑,脚本及其生成的日志文件可在节点的 /usr/local/qcloud/tke/PreHook(PostInit)路径查看。 |
本页内容是否解决了您的问题?