真题解析
题目

Context
最佳实践是将容器设计为无状态和不可变的。
Task
检查在 namespace development 中运行的 Pod,并删除任何非无状态或非不可变的 Pod。
使用以下对无状态和不可变的严格解释:
能够在容器内存储数据的 Pod 必须被视为非无状态的。
被配置为任何形式的特权的 Pod 必须被视为可能是非无状态和无不可变的。
解析
查看 Pod
kubectl get pod -n development
NAME READY STATUS RESTARTS AGE
dev-pod 1/1 Running 0 15s
dev-pod1 1/1 Running 0 12m
dev-pod2 1/1 Running 0 12m搜索 yaml
# 根据 Pod 结果,过滤 privileged,看是否为 true
kubectl get pod dev-pod -n development -o yaml | grep 'privileged'
kubectl get pod dev-pod1 -n development -o yaml | grep 'privileged'
kubectl get pod dev-pod2 -n development -o yaml | grep 'privileged'
# 若为 true 则删除
kubectl delete pod dev-pod1 -n development
kubectl delete pod dev-pod2 -n development# 查看剩余 Pod 的 yaml,过滤 volume
kubectl get pod dev-pod -n development -o yaml > dev-pod.yaml
# 搜索 volume,看是否为数据卷相关类型
/volume\c
若有数据卷相关类型,则需要删除相关 Pod
kubectl delete pod dev-pod -n developmentLast updated