CKS真题 -- 无状态和不可变应用
任务
检查在namespace development中运行的pod,并删除任何非无状态和非不可变的pod
名词解释:
无状态应用:指应用本身不依赖于持久化的状态数据,没有存储挂载,更强调每个请求的独立性。
不可变应用:一旦程序部署完成,其状态不会在运行时被直接修改,更强调pod的稳定性和不变性。
主要删除的就是两种pod:
- privileged: true的pod # 允许特权的pod
- readOnlyRootFileSystem: false #只读文件系统为false的pod
- 有pvc、hostpath挂载的
- ConfigMap、Secret、Download API、emptyDir不算。
解题
检查development下所有pod
1
kubectl get pod -n development
挨个检查,如果发现非无状态应用和非不可变应用就删掉。
1
2
3
4
5kubectl get pod xxx -n development -oyaml |grep -E "privileged|readOnlyRootFileSystem" #检查非不可变应用
kubectl get pod xxx -n development -oyaml|grep "persistentvolumeclaim" #检查非无状态应用
kubectl get pod xxx -n development -oyaml|grep "hostpath"
kubectl delete pod xxx -n development
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Eryoung2的个人博客!
评论
ValineDisqus