管理原生节点
管理原生节点
Section titled “管理原生节点”- 功能名称: 管理原生节点
- 主要对象:
Machine - 文档更新时间: 2026-06-17
- Agent 友好度: ⭐⭐⭐⭐
原生节点在 Kubernetes 中对应 Machine 对象。通过 Machine 可以查看节点生命周期、节点详情和故障状态。维护或删除原生节点时,需要同时理解 MachineSet 期望副本数和实际节点数量之间的关系。
查询原生节点
Section titled “查询原生节点”查看 Machine 列表
Section titled “查看 Machine 列表”kubectl get machine查看 Machine 详情
Section titled “查看 Machine 详情”kubectl describe machine <machine-name>查看对应 Kubernetes Node
Section titled “查看对应 Kubernetes Node”kubectl get nodes -l node-type=native -o widekubectl describe node <node-name>维护原生节点
Section titled “维护原生节点”设置不可调度
Section titled “设置不可调度”kubectl cordon <node-name>驱逐业务 Pod
Section titled “驱逐业务 Pod”kubectl drain <node-name> \ --ignore-daemonsets \ --delete-emptydir-data \ --timeout=10mkubectl uncordon <node-name>删除原生节点
Section titled “删除原生节点”先降低 MachineSet 副本数:
kubectl scale machineset/native-backend-pool --replicas=2再删除目标 Machine:
kubectl delete machine <machine-name>!!! warning “避免自动补回”
如果未降低 MachineSet 的 replicas,直接删除 Machine 后,控制器会认为实际节点数不足,并重新创建一个节点。
| 现象 | 检查命令 | 处理建议 |
|---|---|---|
| Machine 长时间创建中 | kubectl describe machine <name> | 查看事件、子网、机型库存和配额 |
| Node NotReady | kubectl describe node <name> | 检查 kubelet、containerd 和网络 |
| 删除后节点又出现 | kubectl get machineset | 降低 replicas 后再删除 |
| Pod 不调度 | kubectl describe pod <pod> | 检查污点、标签、亲和性和资源余量 |