模拟题目:
设置配置环境:
[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/
解答:
切换环境
kubectl config use-context k8s
查看namespace最大资源请求
kubectl describe ns haddock
#或者
kubectl -n haddock describe limitranges
注意查看Max的值
修改deployment
方法1
直接编辑deployment
kubectl -n haddock edit deployments.apps nosql
在大约40行左右添加资源限制
resources:
limits:
memory: 20Mi
requests:
memory: 15Mi
检查
kubectl -n haddock describe deployments.apps nosql
方法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