模拟题目

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

namespace haddock 中名为 nosql 的 Deployment 的 Pod 因其容器已用完资源而无法启动。 请更新 haddock Deployment ,使 Pod

  • 为其容器请求 15Mi 的内存
  • 将内存限制为 haddock namespace 设置的最大内存容量一半 。 您可以在 /ckad/chief-cardinal/nosql.yaml 找到 nosql Deployment 的配置清单。

参考

https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/

limits-0

解答

切换环境

kubectl config use-context k8s

查看namespace最大资源请求

kubectl describe ns haddock
#或者
kubectl -n haddock describe limitranges

注意查看Max的值

limits-1

修改deployment

方法1

直接编辑deployment

kubectl -n haddock edit deployments.apps nosql

在大约40行左右添加资源限制

resources:
limits:
memory: 20Mi
requests:
memory: 15Mi

limits-2

检查

kubectl -n haddock describe deployments.apps nosql

limits-3

方法2

删除重建

kubectl delete -f /ckad/chief-cardinal/nosql.yaml

编辑文件,添加资源请求

vim /ckad/chief-cardinal/nosql.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nosql
namespace: haddock
spec:
replicas: 1
selector:
matchLabels:
app: nosql
template:
metadata:
labels:
app: nosql
spec:
containers:
- image: nginx:1.16
name: nginx
#添加下面的资源请求
resources:
requests:
memory: "15Mi"
limits:
memory: "20Mi"

创建&检查

kubectl apply -f /ckad/chief-cardinal/nosql.yaml
kubectl -n haddock describe deployments.apps nosql

limits-4