目录
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: couchdb
namespace: default
labels:
app: couchdb #标签
version: stable
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app: couchdb #标签
version: stable
template:
metadata:
labels:
app: couchdb #标签,run: couchdb改为app: couchdb
version: stable
spec:
containers:
- name: couchdb
CKS模拟系统截图
更改Pod安全标准设置
#确保 'privileged': 为 False
#确保'readonlyRootFilesystem': 为 True
#确保'runAsUser': 为 65535
...
volumeMounts:
- name: database-storage
mountPath: /var/lib/database
securityContext:
{'capabilities': {'add': ['NET_BIND_SERVICE'], 'drop': ['all']}, 'privileged': False, 'readOnlyRootFilesystem': True, 'runAsUser': 65535}
resources:
...
CKS模拟系统截图
CKA高仿真环境简单演示视频