腾讯云容器服务 TKE 标准集群(原生节点) - 声明式操作实践
文档简介:
kubectl 支持操作:
MachineSet:
创建原生节点池:
kubectl create -f machineset-demo.yaml
查看原生节点池列表:
kubectl get machineset
查看原生节点池 YAML 详情:
kubectl describe ms machineset-name
kubectl 支持操作
CRD 类型
|
操作项
|
MachineSet
|
创建原生节点池
kubectl create -f machineset-demo.yaml
|
查看原生节点池列表
kubectl get machineset
|
|
查看原生节点池 YAML 详情
kubectl describe ms machineset-name
|
|
删除原生节点池(包年包月节点池需要在控制台删除)
kubectl delete ms machineset-name
|
|
扩容原生节点池
kubectl scale --replicas=3 machineset/machineset-name
|
|
Machine
|
查看原生节点
kubectl get machine
|
查看原生节点 YAML 详情
kubectl describe ma machine-name
|
|
删除原生节点
kubectl delete ma machine-name
|
|
HealthCheckPolicy
|
创建故障检测自愈规则
kubectl create -f demo-HealthCheckPolicy.yaml
|
查看故障自愈规则列表
kubectl get HealthCheckPolicy
|
|
查看故障自愈规则 YAML 详情
kubectl describe HealthCheckPolicy HealthCheckPolicy-name
|
|
删除故障自愈规则
kubectl delete HealthCheckPolicy HealthCheckPolicy-name
|
通过 YAML 使用 CRD
MachineSet
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
kubectl 操作 demo
MachineSet
1. 执行命令kubectl create -f machineset-demo.yaml根据上述 YAML 创建 MachineSet:

2. 根据命令kubectl get machineset查看 MachineSet np-pjrlok3w 状态。此时控制台上已出现对应节点池,节点在创建中:


3. 根据命令kubectl describe machineset np-pjrlok3w查看 MachineSet np-pjrlok3w 描述:

4. 根据命令 kubectl scale --replicas=2 machineset/np-pjrlok3w 执行节点池扩缩容:

5. 根据命令kubectl delete ms np-pjrlok3w 删除节点池。

Machine
1. 根据命令kubectl get machine查看 Machine 列表,此时控制台上已存在对应节点:


2. 根据命令kubectl describe ma np-14024r66-nv8bk查看 Machine np-14024r66-nv8bk 描述:

3. 根据命令kubectl delete ma np-14024r66-nv8bk 删除节点。
说明
如果没有调整节点池期望节点数而直接删除节点,节点池会检测到实际节点数不足以满足声明式节点数量,然后会创建一个新节点并将其加入节点池。因此,我们推荐按照以下方式进行节点删除操作:
调整期望节点数:kubectl scale --replicas=1 machineset/np-xxxxx
删除对应节点:kubectl delete machine np-xxxxxx-dtjhd
针对包年包月类型的节点,因为涉及到节点销毁退费,因此无法直接通过 kubectl 删除。