CKAD-2026-金丝雀部署

说明,这道题是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

相关推荐
戴为沐20 小时前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https