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;
  • 修改 nameimage 字段以满足任务要求;
  • 确保 paused: true 被移除,否则更新不会触发;
  • 通过 rollout statusget pods 验证变更已成功应用。

更新完成后,Deployment 将滚动创建使用 busybox:musl 镜像且容器名为 musl 的新 Pod。

相关推荐
Kendra9196 小时前
Kubernetes 常用命令
云原生·容器·kubernetes
2501_9399090514 小时前
k8s基础与安装部署
云原生·容器·kubernetes
谷隐凡二15 小时前
Kubernetes Route控制器简单介绍
java·容器·kubernetes
李少兄20 小时前
Kubernetes 日志管理
docker·容器·kubernetes
秋饼20 小时前
【K8S测试程序--git地址】
git·容器·kubernetes
oMcLin20 小时前
如何在RHEL 9上配置并优化Kubernetes 1.23高可用集群,提升大规模容器化应用的自动化部署与管理?
kubernetes·自动化·php
ghostwritten20 小时前
Kubernetes 网络模式深入解析?
网络·容器·kubernetes
原神启动121 小时前
K8S(七)—— Kubernetes Pod 基础概念与实战配置
云原生·容器·kubernetes
不想画图21 小时前
Kubernetes(五)——rancher部署和Pod详解
linux·kubernetes·rancher
大都督老师21 小时前
配置 containerd 使用镜像加速器拉取 Docker Hub 镜像
容器·kubernetes·k8s