CKAD-CN 考试知识点分享(16) 修改 container 名称

您必须连接到正确的主机。不这样做可能导致零分。
[candidate@base] $ ssh ckad00044


任务要求

在不删除现有资源的前提下,更新 rapid-goat 命名空间中的 Deployment busybox,具体操作如下:

  1. 将容器名称更改为 musl;
  2. 将容器镜像更改为 busybox:musl;
  3. 确保更新成功且 Deployment 正常运行。

⚠️ 注意 :不得删除或重建 Deployment,否则将导致零分。


步骤一:编辑 Deployment

使用 kubectl edit 命令直接修改 Deployment 配置:

bash 复制代码
kubectl -n rapid-goat edit deployment busybox

在打开的编辑器中进行以下修改:

1. 修改容器名称

将原容器 name 字段从 busybox 改为 musl:

yaml 复制代码
name: musl
2. 更新容器镜像

将 image 字段从 busybox 改为 busybox:musl:

yaml 复制代码
image: busybox:musl
3. (可选)更新 Pod 模板标签(建议)

为明确标识新版本,可更新 Pod 模板的标签(如 app: busybox-musl),但非必须:

yaml 复制代码
template:
  metadata:
    labels:
      app: busybox-musl
4. 确保 deployment 未暂停(关键)

如果配置中存在 paused: true,请删除或注释该行,否则 Deployment 不会应用更新:

yaml 复制代码
# paused: true  # 删除或注释此行

修改后的关键片段示例

yaml 复制代码
spec:
  template:
    spec:
      containers:
      - name: musl
        image: busybox:musl
        command:
        - sh
        - -c
        - while true; do echo 'Container is running...'; sleep 3000; done
        resources: {}

保存并退出编辑器。


步骤二:验证更新结果

1. 检查 Deployment 状态
bash 复制代码
kubectl -n rapid-goat rollout status deployment busybox

预期输出:

复制代码
deployment "busybox" successfully rolled out
2. 确认容器名称和镜像已更新
bash 复制代码
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 是否已更新
bash 复制代码
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。

相关推荐
jonyleek3 小时前
JVS数字底座私有化部署实践:Spring Cloud + K8S 实现文档平台开箱即用
elasticsearch·kubernetes·私有化部署·springcloud·minio·jvs企业文档·文档治理
mengge.cloud7 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
暖核10 小时前
从零理解 Kubernetes Pod:命名空间、生命周期、Pause 容器详解
云原生·容器·kubernetes
Orchestrator_me13 小时前
k8s网络与应用
网络·python·kubernetes
.冰块.13 小时前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排
川石课堂软件测试13 小时前
JMeter异步接口测试实战
数据库·python·jmeter·mysql·kubernetes·测试用例·prometheus
fengkai454513 小时前
2、Kubernetes 介绍+安装+卸载
运维·容器·kubernetes
小马同学-14 小时前
K8s 节点管理:查看、维护与集群删除操作
容器·kubernetes
ggaofeng2 天前
k8s中的dns
云原生·容器·kubernetes
我不会起名字3222 天前
K8s Ingress 返回 502 但后端日志正常:4 类上游断连与排查链
kubernetes·k8s·ingress·502·keepalive