说明,这道题是k8s的ckad 2026年的考试题,这道题没什么难度,先把现有的deployment复制一份,修改下deployment的名字,再去修改副本数。
最短口诀(4 个字)
名、数、标、留
-
名:改 Deployment 名字
-
数:改副本数
-
标:改 app 标签(selector + template 两处)
-
留:保留 run 标签不动
为了测试新的应用程序发布,您需要准备一个金丝雀部署。
Task
namespace goshawk 中名为 chipmunk-service 的 Service 指向名为 current-chipmunk-deployment 的 Deployment 创建的 5 个 Pod。
你可以在 /home/student/中找到 current-chipmunk-deployment 的清单文件。
1、在同一 namespace 中创建一个相同的 Deployment,名为 canary-chipmunk-deployment
2、修改 Deployment,以便:
⚫ 在 namespace goshawk 中运行的 Pod 的最大数量为 10 个
⚫ chipmunk.service 流量的 40%流向 Pod canary-chipmunk-deployment
使用-h 帮助更方便。 kubectl -h kubectl scale -h
答题
【1】 按照题目要求,在master 节点上执行,切换到题目要求节点
ssh ckad00000
【2】 开始修改配置文件
备份一下,防止改错
cp /home/student/current-chipmunk-deployment.yaml bak.yaml
编辑文件
vi /home/student/current-chipmunk-deployment.yaml
创建金丝雀,修改以下红色字体
bash
apiVersion: apps/v1
kind: Deployment
metadata:
name: canary-chipmunk-deployment #这个根据题目要求修改
namespace: goshawk #检查一下对不对
spec:
replicas: 5
selector:
matchLabels:
app: canary #修改为canary
run: chipmunk #这个是 current-chipmunk-deployment 和 canary-chipmunk-deployment 都有的公共标签。
template:
metadata:
labels:
app: canary #修改为canary
run: chipmunk #这个是 current-chipmunk-deployment 和 canary-chipmunk-deployment 都有的公共标签
spec:
containers:
- name: chipmunk
image: nginx

编辑完后,按 ESC,再按 :wq 保存退出
【3】 创建
kubectl apply -f /home/student/current-chipmunk-deployment.yaml

【4】 按照题目要求,修复副本数
总共 10 个 Pod,将 60%流量给当前版本 Pod,就是 current-chipmunk-deployment 扩容至 6 个 pod
kubectl scale deployment current-chipmunk-deployment --replicas=6 -n goshawk
将 40%流量给金丝雀版本 Pod,就是 canary-chipmunk-deployment 扩容至 4 个 pod
kubectl scale deployment canary-chipmunk-deployment --replicas=4 -n goshawk
【5】 检查
kubectl get pod -n goshawk
