当前位置: 首页 > backend >正文

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高仿真环境简单演示视频

http://www.xdnf.cn/news/12829.html

相关文章:

  • 五、jmeter脚本参数化
  • PHP中如何定义常量以及常量和变量的主要区别
  • Spark流水线+Gravitino+Marquez数据血缘采集
  • java综合项目开发一课一得
  • 使用 Melos 高效管理 Flutter/Dart Monorepo 项目
  • 用 Melos 解决 Flutter Monorepo 的依赖冲突:一个真实案例
  • Python 包管理器 uv 介绍
  • 基于PostGIS的各地级市路网长度统计及Echarts图表可视化实践-以湖南省为例
  • 支持selenium的chrome driver更新到137.0.7151.68
  • 时序数据库IoTDB结合SeaTunnel实现高效数据同步
  • 七、Sqoop Job:简化与自动化数据迁移任务及免密执行
  • Ubuntu20.04中 Redis 的安装和配置
  • 通过Cline使用智能体
  • webpack其余配置
  • uni-app学习笔记二十七--设置底部菜单TabBar的样式
  • AUTOSAR实战教程--标准协议栈实现DoIP转DoCAN的方法
  • 12-OPENCV ROCKX项目 人脸拍照
  • 【Blender】Blender 基础:导入导出
  • 【算法】【优选算法】优先级队列
  • Hermite 插值
  • Day47
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
  • 【CSS-6】深入理解CSS复合选择器:提升样式表的精确性与效率
  • 宝塔安装配置FRP
  • 【题解-洛谷】P10448 组合型枚举
  • 基于RAG实现下一代的企业智能客服系统
  • 2025年6月|注意力机制|面向精度与推理速度提升的YOLOv8模型结构优化研究:融合ACmix的自研改进方案
  • 当SAP系统内计划订单转换为生产订单时发生了什么?
  • 混合策略实现 doc-doc 对称检索局限性与失败案例
  • 基于算法竞赛的c++编程(21)cin,scanf性能差距和优化