CKA-2026-resources

您管理一个 WordPress 应用程序。由于资源请求过高,某些 Pod无法启动。

Task

relative-fawn namespace 中的 WordPress应用程序包含:

  1. l具有 3 个副本的 WordPress Deployment

按如下方式调整所有 Pod 资源请求:

  1. l将节点资源平均分配给这 3 个 Pod
  2. l为每个 Pod 分配公平的 CPU 和内存份额
  3. l添加足够的开销以保持节点稳定

请确保,对容器和初始化容器使用完全相同的请求。您无需更改任何资源限制。

在更新资源请求时,暂时将 WordPress Deployment 缩放为 0 个副本可能会有所帮助。

更新后,请确认:

  1. lWordPress 保持 3 个副本
  2. l所有 Pod 都在运行并准备就绪

解题方法

步骤1.将 WordPress Deployment 缩放为 0 个副本

题目里提示了,要先将 Deployment 缩放为 0。

真正考试时,如果你不将其缩小为 0,而是直接修改cpu 和 memory 值,会导致新 Pod 起不来,因为考试环境提前做了一些限制。

kubectl -n relative-fawn scale deployment wordpress --replicas=0

复制代码
*$ kubectl -n relative-fawn get deployment wordpress
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
wordpress  `0/0`    0            0           71s

提示 scaled,表示缩放成功

再次检查副本数,发现已为 0

kubectl -n relative-fawn get deployment wordpress

复制代码
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
wordpress  `0/0`    0            0           71s

步骤2.检查 nodes 资源请求情况

考试时,只有一个 node 节点。而模拟环境里,我们假设是k8s-master1这个 node 节点即可。要先缩为 0 后,再检查 node 资源请求情况。

kubectl get nodes

kubectl describe node k8s-master1

复制代码
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests     Limits
  --------           --------     ------
  cpu                400m (20%)   500m (25%)
  memory             290Mi (15%)  0 (0%)
  ephemeral-storage  0 (0%)       0 (0%)
  hugepages-1Gi      0 (0%)       0 (0%)
  hugepages-2Mi      0 (0%)       0 (0%)

以下数字只是举例,实际以查出来的数字为准。

计算方法:

CPU 400m 占用了 20%, 20m 约等于 1%

用了 20%,还剩下 80% 约等于 1600m(80*20m)

最终是要 3 副本,每个副本里2个容器。6个容器平分1600m,每个容器最高 266m

理论上 cpu request :1m-266m 都可以设置

不能设置太低,考试时和练习环境都为 100m

内存 290Mi 占 15%,1%约为 19 Mi

用了 15%,还剩下 75% 约等于 1425Mi(75*19Mi)

最终是要 3 副本,每个副本里2个容器。6个容器平分1425Mi,每个容器最高 237Mi

理论上 内存 request :1Mi-237Mi 都可以设置

不能设置太低,考试时和练习环境都为 200Mi

步骤3. 更新 WordPress Deployment 的资源请求

复制代码
*$ kubectl -n relative-fawn set resources deploy wordpress \
--requests='cpu=100m,memory=200Mi'

首先实际考试时不用计算,直接按我的改即可,或者更小一点都可以。

其次计算方式是:考试时是单台k8s集群。通过kubectl describe node xxxx查询到这台主机的requests使用情况,比如CPU 1100m(55%) MEM 240Mi(8%),就是说现在可以申请的CPU约为1000m(45%)MEM为2760Mi(92%)。

那现在wordpress是三个副本,那就是可用的除以3,当然不能完全用完,还要留一些。

CPU 1000m/3pod = 200m

MEM 2760Mi/3pod = 900Mi

步骤4.更新 WordPress Deployment 的资源请求

*$ kubectl -n relative-fawn set resources deploy wordpress \
--requests='cpu=100m,memory=200Mi'

将配置文件里, containers 的 requests cpu 设置为 100m,内存设置为 200Mi

limits 不需要改,因为题目里写了"您无需更改任何资源限制",指的就是不要改limits。

步骤5. 将 WordPress Deployment 副本恢复为 3 个

kubectl -n relative-fawn scale deployment wordpress --replicas=3

步骤6.检查

检查 wordpress pod 是否都是 running

这里大约需要等 2 分钟,Pod 才会 Running.

kubectl -n relative-fawn get pod

复制代码
NAME                        READY   STATUS    RESTARTS   AGE
wordpress-55bb5dd58-7rjbv   1/1     Running   0          3m23s
wordpress-55bb5dd58-lcztr   1/1     Running   0          2m17s
wordpress-55bb5dd58-tpmm9   1/1     Running   0          74s

检查 deployment wordpress 是否为 3 个副本

kubectl -n relative-fawn get deployment

复制代码
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
wordpress   3/3     3            3           6m53s
相关推荐
测试员周周9 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
风落无尘10 小时前
Stable Diffusion WebUI & ComfyUI 完整安装教程:官方部署+一键整合包+Docker容器化(2026最新)
docker·容器·stable diffusion
在角落发呆12 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青14 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
哎呦,帅小伙哦14 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn14 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫14 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain15 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x15 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima204815 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能