CKAD-CN 考试知识点分享(16) 修改 container 名称
您必须连接到正确的主机。不这样做可能导致零分。
[candidate@base] $ ssh ckad00044
任务要求
在不删除现有资源的前提下,更新 rapid-goat
命名空间中的 Deployment busybox
,具体操作如下:
- 将容器名称更改为
musl
; - 将容器镜像更改为
busybox:musl
; - 确保更新成功且 Deployment 正常运行。
⚠️ 注意:不得删除或重建 Deployment,否则将导致零分。
步骤一:编辑 Deployment
使用 kubectl edit
命令直接修改 Deployment 配置:
kubectl -n rapid-goat edit deployment busybox
在打开的编辑器中进行以下修改:
1. 修改容器名称
将原容器 name
字段从 busybox
改为 musl
:
name: musl
2. 更新容器镜像
将 image
字段从 busybox
改为 busybox:musl
:
image: busybox:musl
3. (可选)更新 Pod 模板标签(建议)
为明确标识新版本,可更新 Pod 模板的标签(如 app: busybox-musl
),但非必须:
template:metadata:labels:app: busybox-musl
4. 确保 deployment 未暂停(关键)
如果配置中存在 paused: true
,请删除或注释该行,否则 Deployment 不会应用更新:
# paused: true # 删除或注释此行
修改后的关键片段示例
spec:template:spec:containers:- name: muslimage: busybox:muslcommand:- sh- -c- while true; do echo 'Container is running...'; sleep 3000; doneresources: {}
保存并退出编辑器。
步骤二:验证更新结果
1. 检查 Deployment 状态
kubectl -n rapid-goat rollout status deployment busybox
预期输出:
deployment "busybox" successfully rolled out
2. 确认容器名称和镜像已更新
kubectl -n rapid-goat get deployment busybox -o jsonpath='{.spec.template.spec.containers[0].name}{"\t"}{.spec.template.spec.containers[0].image}{"\n"}'
输出应为:
musl busybox:musl
3. 查看 Pod 是否已更新
kubectl -n rapid-goat get pods
新 Pod 的镜像应为 busybox:musl
,且容器名已生效。
总结
- 使用
kubectl edit
可安全地现场更新 Deployment; - 修改
name
和image
字段以满足任务要求; - 确保
paused: true
被移除,否则更新不会触发; - 通过
rollout status
和get pods
验证变更已成功应用。
更新完成后,Deployment 将滚动创建使用 busybox:musl
镜像且容器名为 musl
的新 Pod。