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 删除。