您的位置 首页 k8s

resources    cpu 和memory – 测试题

resources    cpu 和memory - 测试题

 

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

Task
relative-fawn namespace 中的 WordPress 应用程序包含:
具有 3 个副本的 WordPress Deployment

按如下方式调整所有 Pod 资源请求:
将节点资源平均分配给这 3 个 Pod
为每个 Pod 分配公平的 CPU 和内存份额
添加足够的开销以保持节点稳定

请确保,对容器和初始化容器使用完全相同的请求。您无需更改任何资源限制。
在更新资源请求时,暂时将 WordPress Deployment 缩放为 0 个副本可能会有所帮助。

更新后,请确认:
WordPress 保持 3 个副本
所有 Pod 都在运行并准备就绪

 

答:

#本题只需要修改requests,千万不要动Limits,如果考试时间不够用,直接改小requests,不用计算。

< 1 > 按照题目要求,在base 节点上执行,切换到题目要求节点

ssh cka000000

< 2 > 将 WordPress Deployment 缩放为 0 个副本

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

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

 

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

提示 scaled,表示缩放成功

 

< 3 > 检查 nodes 资源请求情况

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

kubectl get nodes

kubectl describe node k8s-master1

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

 

< 4 > 更新 WordPress Deployment 的资源请求

很多同学问,这个requests值是怎么数的。

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

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

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

CPU 900m/3pod = 300m

MEM 2760Mi/3pod = 900Mi

上面是模拟环境的,考试时按他的资源情况计算,当然,设置更小一点总是没错的。

 

kubectl -n relative-fawn edit deployment wordpress

 

将配置文件里, containers 的 requests cpu 设置为 80m,内存设置为 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

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章