K8S认证|CKS题库+答案| 7. Dockerfile 检测
目录
7. Dockerfile 检测
免费获取并激活 CKA_v1.31_模拟系统
题目
开始操作:
1)、切换集群
2)、修改 Dockerfile
3)、 修改 deployment.yaml
7. Dockerfile 检测
免费获取并激活 CKA_v1.31_模拟系统
题目
您必须在以下Cluster/Node上完成此考题:
Cluster Master node Worker node
CKS00707 master node01
.
设置配置环境:
[candidate@node01]$ kubectl config use-context CKS00707.
Task
.
分析和编辑给定的 Dockerfile /cks/docker/Dockerfile (基于 ubuntu:16.04 镜像),并修复在文件中拥有的突出的安全/最佳实践问题的 两个指令 。.分析和编辑给定的清单文件 /cks/docker/deployment.yaml ,并修复在文件中拥有突出的安全/最佳实践问题的 两个字段 。.注意:请勿添加或删除配置设置;只需修改现有的配置设置让以上 两个 配置设置都不再有安全/最佳实践问题。.注意:如果您需要非特权用户来执行任何项目,请使用用户 ID 65535 的用户 nobody 。.只修改即可,不需要创建。
开始操作:
1)、切换集群
kubectl config use-context CKS00707
2)、修改 Dockerfile
vim /cks/docker/Dockerfile
指定稳定的镜像版本,一般lastest稳定性尚待验证
#修改基础镜像为题目要求的 ubuntu:16.04
FROM ubuntu:16.04
CKS模拟系统截图
将容器启动时的程序运行用户改成nobody低权限用户
#仅将 CMD 上面的 USER root 修改为 USER nobody,不需要改其他的 USER root。
USER nobody
CKS模拟系统截图
3)、 修改 deployment.yaml
vim /cks/docker/deployment.yaml
更改labels
#emplate 里标签跟上面的内容不一致,所以需要将原先的 run: couchdb 修改为 app: couchdb
apiVersion: apps/v1
kind: Deployment
metadata:name: couchdbnamespace: defaultlabels:app: couchdb #标签version: stable
spec:replicas: 1revisionHistoryLimit: 3selector:matchLabels:app: couchdb #标签version: stabletemplate:metadata:labels:app: couchdb #标签,run: couchdb改为app: couchdbversion: stablespec:containers:- name: couchdb
CKS模拟系统截图
更改Pod安全标准设置
#确保 'privileged': 为 False
#确保'readonlyRootFilesystem': 为 True
#确保'runAsUser': 为 65535
...volumeMounts:- name: database-storagemountPath: /var/lib/databasesecurityContext:{'capabilities': {'add': ['NET_BIND_SERVICE'], 'drop': ['all']}, 'privileged': False, 'readOnlyRootFilesystem': True, 'runAsUser': 65535}resources:
...
CKS模拟系统截图
CKA高仿真环境简单演示视频