有奖捉虫:行业应用 & 管理与支持文档专题 HOT

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/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

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