2024 CKA模拟系统制作 | Step-By-Step | 10、题目搭建-调度 pod 到指定节点
目录
一、题目
二、题目考点分析
1. 核心操作目标
2. 关键知识点
3. 易错点
三、考点详细讲解
1. 节点选择器(nodeSelector)
2. 节点标签管理
3. Pod调度流程
四、实验环境搭建步骤
1.确认节点名称
2. 为工作节点添加标签
五、常见问题排查
1. Pod处于Pending状态
2. 标签拼写错误
六、总结
关键命令速查表
免费获取题库配套 CKA_v1.31_模拟系统
一、题目
您必须在以下Clusterd/Node上完成此考题:
Cluster Master node Worker node
lk8s master node01
设置配置环境:
[candidate@node01]$ kubectl config use-context lk8s
.
Context
将pod分配到指定节点
.
Task
按如下要求调度一个 pod :
name:nginx-kusc00401
image:nginx:1.16
node selector:disk=ssd
二、题目考点分析
1. 核心操作目标
-
节点选择调度:将Pod精确调度到带有特定标签(
disk=ssd
)的节点。 -
标签管理:确保目标节点已正确添加标签,且Pod配置中引用了正确的标签。
2. 关键知识点
-
节点选择器(nodeSelector):通过标签匹配实现Pod与节点的绑定。
-
标签操作:节点的标签增删与查询。
-
Pod配置语法:在Pod定义中正确使用
nodeSelector
字段。
3. 易错点
-
标签未生效:未正确给节点打标签或标签拼写错误。
-
资源不足:目标节点资源不足导致Pod无法调度(Pending状态)。
-
镜像拉取失败:镜像名称或版本错误(如
nginx:1.16
是否存在)。
三、考点详细讲解
1. 节点选择器(nodeSelector)
-
作用:强制Pod调度到具有指定标签的节点。
-
配置位置:在Pod或Deployment的
spec
部分定义。 -
YAML示例
spec:nodeSelector:disk: ssd # 键值对必须与节点标签完全匹配
2. 节点标签管理
-
查看节点标签:
kubectl get nodes --show-labels
-
添加标签:
kubectl label node <节点名称> disk=ssd
-
删除标签:
kubectl label node <节点名称> disk-
3. Pod调度流程
四、实验环境搭建步骤
1.确认节点名称
kubectl get nodes输出示例:NAME STATUS ROLES AGE VERSIONmaster Ready control-plane 5m v1.31.0node01 Ready worker 3m v1.31.0node02 Ready worker 3m v1.31.0
2. 为工作节点添加标签
kubectl label nodes node01 disk=ssd
五、常见问题排查
1. Pod处于Pending状态
-
可能原因:
-
节点标签未正确设置。
-
目标节点资源不足。
-
镜像拉取失败(检查
kubectl describe pod
事件日志)。
-
-
诊断命令:
# 查看Events部分的具体错误信息
kubectl describe pod nginx-kusc00401
2. 标签拼写错误
-
示例:节点标签为
disk:ssd
(冒号),而Pod配置中写为disk: ssd
(空格)。 -
解决方法:统一使用
kubectl label
命令规范标签格式。
六、总结
通过本题,重点掌握:
-
节点标签管理:增删查操作。
-
Pod调度控制:使用
nodeSelector
实现精确调度。 -
故障排查:通过
kubectl describe
定位调度问题。
关键命令速查表:
# 节点标签管理
kubectl label node <节点名称> <标签键>=<标签值>
kubectl get nodes --show-labels# 创建Pod
kubectl apply -f nginx-pod.yaml# 验证调度
kubectl get pod -o wide
CKA高仿真环境简单演示视频