当前位置: 首页 > news >正文

CKAD-CN 考试知识点分享(17) 金丝雀部署

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


任务背景

goshawk 命名空间中,服务 chipmunk-service 当前由 current-chipmunk-deployment 部署的 5 个 Pod 提供支持。为测试新版本应用,需部署一个金丝雀(Canary)Deployment,并按指定比例分流流量。

目标:

  1. 创建名为 canary-chipmunk-deployment 的新 Deployment,使用相同配置;你可以在/ckad/goshawk/中找到 current-chipmunk-deployment 的清单文件。
  2. 确保 goshawk 命名空间中 Pod 总数不超过 10 个;
  3. 使 chipmunk-service40% 的流量导向金丝雀 Pod。

步骤一:查看 Service 的标签选择器

首先,确认 chipmunk-service 通过哪些标签选择后端 Pod:

kubectl -n goshawk get svc chipmunk-service -o wide

输出显示:

NAME               TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE   SELECTOR
chipmunk-service   ClusterIP  10.96.100.50   <none>        80/TCP    10m   run=chipmunk

🔍 关键信息:Service 通过 run=chipmunk 标签路由流量。
这意味着只要 Pod 拥有 run: chipmunk 标签,就会被纳入服务的负载均衡池中。


步骤二:创建金丝雀 Deployment

复制现有 Deployment 配置并创建新的 canary-chipmunk-deployment

cp /ckad/goshawk/current-chipmunk-deployment.yaml /ckad/goshawk/canary-chipmunk-deployment.yaml

编辑新文件:

vim /ckad/goshawk/canary-chipmunk-deployment.yaml

修改内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:name: canary-chipmunk-deploymentnamespace: goshawk
spec:replicas: 4  # 初始可设为4,后续也可通过 scale 调整selector:matchLabels:app: canary-chipmunk  # 区分不同 Deployment,避免冲突run: chipmunk         # 必须保留,确保被 Service 选中template:metadata:labels:app: canary-chipmunkrun: chipmunkspec:containers:- image: nginx:stable-alpinename: nginx

✅ 关键点:

  • name 改为 canary-chipmunk-deployment
  • app 标签改为唯一值(如 canary-chipmunk),便于区分;
  • 保留 run: chipmunk 标签,确保被 chipmunk-service 选中。

应用配置:

kubectl apply -f /ckad/goshawk/canary-chipmunk-deployment.yaml

步骤三:调整副本数以实现流量分配

Service 的流量分配基于后端 Pod 数量的比例(假设为轮询调度)。

要求:

  • 40% 流量 → 金丝雀 Deployment;
  • 60% 流量 → 当前 Deployment;
  • 总 Pod 数不超过 10。

因此:

  • 金丝雀:4 个 Pod(40%)
  • 当前版本:6 个 Pod(60%)

执行扩缩容命令:

# 扩容当前 Deployment 至 6 个副本(60%)
kubectl scale deployment current-chipmunk-deployment --replicas=6 -n goshawk# 扩容金丝雀 Deployment 至 4 个副本(40%)
kubectl scale deployment canary-chipmunk-deployment --replicas=4 -n goshawk

步骤四:验证最终状态

检查 Pod 分布:

kubectl -n goshawk get pods -l run=chipmunk -o wide

输出应显示共 10 个 Pod,其中:

  • current-chipmunk-deployment-*:6 个
  • canary-chipmunk-deployment-*:4 个

验证 Service 是否覆盖所有 Pod:

kubectl -n goshawk describe svc chipmunk-service

确认 Endpoints 列表包含 10 个 IP 地址,混合来自两个 Deployment 的 Pod。


总结

  • 金丝雀部署通过共享 Service 的标签选择器实现流量接入;
  • 流量比例由后端 Pod 数量比例决定(在默认调度策略下);
  • 使用唯一的 app 标签区分不同 Deployment,便于管理;
  • 最终实现:40% 流量流向 canary-chipmunk-deployment,满足任务要求。
http://www.dtcms.com/a/419580.html

相关文章:

  • 济宁住房和城乡建设局网站wordpresscom下载
  • Flutter版本选择指南:避坑3.27 | 2025年9月
  • 营销型网站建设seo优
  • 南宁网站建设制作后台加新tag wordpress
  • 海外建站平台网站建设投资
  • 【ORM】-1-SQLAlchemy介绍,以及原生sql应用
  • wordpress主题 苏醒百度seo排名如何提升
  • window pdf文件批量转高清图片png、jpg
  • 北京城乡建设门户网站凉州区住房城乡建设局网站
  • 安宝特案例丨从 “围台观摩” 到 “远程高清学”:安宝特AR远程医疗套装支撑南京医院手术带教
  • 在模板网站建站好吗网站制作公司网站
  • Parasoft C/C++test 测试中 main 函数重复定义解决方案
  • 还在靠人工筛选供应商?数据驱动选商更精准
  • 孟村县做网站价格seo站长工具查询系统
  • 平顶山网站建设价格wordpress自动抓取
  • 网站开发用什么语言最多专业免费建站
  • k8s中的schedule
  • 整合ITSM和IT安全!-ManageEngine卓豪
  • 从“人工”到“智能”:数字新基建驱动下的园区能源计费变革
  • 用dreamever如何建设网站做外贸的网站看啥书
  • 温州建设局网站首页鹿泉区建设局网站
  • 锤子助手插件功能八十一:笔记复读
  • 建设一个公司网站多少钱系统开发费
  • 自己如何做网站推广wordpress悬浮音乐播放器
  • .net操作Excel:图表 (Chart) 的创建与定制
  • 照明网站建设郴州旅游攻略
  • HardFault_Handler处理Bug
  • iterator()java面试题及答案
  • 黑龙江省建设厅网站的电话高端品牌型网站建设
  • 俄罗斯视频网站开发阳江专业手机网站制作公司