kubernetes(K8s)学习笔记:第五期与第六期核心知识点学习自测与详解 📅 2026/6/28 4:24:11 kubernetesK8s学习笔记第五期与第六期核心知识点学习自测与详解本自测解析针对 Kubernetes 系列第五期存储与配置管理和第六期控制器管理的核心内容。共 10 题每题包含题目回顾、考查知识点、详细解答与分析帮助读者巩固存储、配置与控制器管理技能。第五期存储与配置管理5 题题目一emptyDir、hostPath、NFS 三种 Volume 的区别题目请对比 Kubernetes 中 emptyDir、hostPath 和 NFS 三种 Volume 类型的特性包括数据持久性、跨节点共享能力、适用场景。并说明为什么 hostPath 不适合生产环境多节点集群考查知识点Volume 类型对比 —— 第五期 §2、§3、§4各类型适用场景详细解答特性emptyDirhostPathNFS数据持久性Pod 删除即清除宿主机保留服务端保留跨节点共享❌ 不共享❌ 不共享各节点独立✅ 共享适用场景容器间临时数据共享单节点测试、访问宿主机文件跨节点共享存储生产环境推荐中等❌ 低✅ 高数据安全性低随 Pod 删除中宿主机保留但依赖节点高集中存储hostPath 不适合多节点集群的原因数据不跨节点Pod 被调度到不同节点时数据不可见节点故障数据丢失节点宕机后本地数据可能无法恢复权限问题不同节点上目录权限可能不一致安全风险Pod 可能访问宿主机敏感目录题目二PV 与 PVC 架构及访问模式题目请解释 Kubernetes 中 PV 和 PVC 的概念及其关系。PV 的访问模式有哪些每种访问模式的缩写是什么NFS 支持哪些访问模式考查知识点PV/PVC 架构 —— 第五期 §5.1访问模式accessModes—— 第五期 §5.5详细解答PVPersistentVolume集群级别的存储资源由管理员预先创建描述后端存储的容量、类型和访问方式。PVCPersistentVolumeClaim命名空间级别的存储申请由用户创建声明所需的存储容量和访问模式。绑定关系Kubernetes 控制平面根据 PVC 的请求容量、访问模式、存储类自动匹配合适的 PV 并进行绑定。访问模式模式缩写含义NFS 支持ReadWriteOnceRWO单节点读写✅ReadOnlyManyROX多节点只读✅ReadWriteManyRWX多节点读写✅ReadWriteOncePodRWOP单 Pod 读写取决于驱动关键理解NFS 是少数同时支持 RWO、ROX、RWX 三种访问模式的存储类型因此非常适合作为 Kubernetes 共享存储的后端。题目三PV 回收策略题目PV 支持哪几种回收策略请解释 Retain 策略的工作流程。当一个 PV 处于Released状态时如何使其重新可用考查知识点PV 回收策略 —— 第五期 §5.6Retain 策略详细解答PV 回收策略策略行为状态Retain默认PVC 删除后PV 保留数据状态变为 Released✅ 当前支持Recycle自动清理数据后重新可用❌ 已废弃Delete删除 PV 和关联的后端存储✅ 当前支持Retain 策略工作流程PVC 被删除PV 状态变为ReleasedPV 仍保留后端的实际数据PV 中的claimRef保留原 PVC 的引用信息新的 PVC 无法自动绑定该 PV因为claimRef残留使 Released PV 重新可用bash# 1. 查看 PV 状态 kubectl get pv # 状态为 Released # 2. 编辑 PV删除 claimRef 部分 kubectl edit pv web # 删除 spec.claimRef 整个段落 # 3. 保存后PV 状态变为 Available kubectl get pv # 状态为 Available # 4. 新的 PVC 可以绑定该 PV题目四ConfigMap 与 Secret 的区别题目请从用途、数据编码、数据大小、更新机制、安全性五个维度对比 ConfigMap 和 Secret。Secret 的 Base64 编码是加密吗为什么考查知识点ConfigMap vs Secret —— 第五期 §6、§7Secret 安全性详细解答对比维度ConfigMapSecret用途存储非敏感配置数据存储敏感数据密码、密钥、证书数据编码明文Base64 编码数据大小1 MiB1 MiB更新机制Volume 方式支持动态更新Volume 方式支持动态更新安全性低中等可启用 etcd 加密Base64 不是加密Base64 只是一种编码方式不是加密算法任何人都可以解码echo -n cmVkaGF0 | base64 -d→redhat真正的安全需要启用 etcd 加密--encryption-provider-config使用 RBAC 限制 Secret 访问权限考虑使用外部 Secret 管理工具如 HashiCorp Vault题目五ConfigMap 动态更新题目当 ConfigMap 以 Volume 方式挂载到 Pod 后更新 ConfigMap 的内容Pod 内的文件会自动更新吗如果是大概需要多长时间环境变量方式引用的 ConfigMap 会动态更新吗考查知识点ConfigMap 动态更新 —— 第五期 §6.4Volume 挂载 vs 环境变量详细解答Volume 挂载方式✅会自动更新kubelet 周期性同步检查默认约30~60 秒Pod 内文件内容自动刷新环境变量方式❌不会自动更新环境变量在 Pod 启动时注入一次需要重启 Pod才能生效验证命令bash# 1. 查看当前内容 kubectl exec web -- cat /usr/share/nginx/html/index.html # 2. 更新 ConfigMap kubectl edit configmap web1 # 3. 等待约 30~60 秒后再次查看 kubectl exec web -- cat /usr/share/nginx/html/index.html # 内容已更新第六期控制器管理5 题题目六ReplicaSet 与 Deployment 的关系题目ReplicaSet 和 Deployment 的关系是什么为什么生产环境推荐使用 Deployment 而不是直接使用 ReplicaSetDeployment 的spec.selector和 ReplicaSet 的selector必须匹配吗考查知识点ReplicaSet 与 Deployment 关系 —— 第六期 §2、§3控制器层级关系详细解答关系Deployment管理ReplicaSetDeployment 通过创建、更新、删除 ReplicaSet 来实现滚动更新和版本回滚每个 Deployment 版本对应一个 ReplicaSet层级关系textDeployment (web) └── ReplicaSet (web-5899d78c9) ← 版本 1 │ └── Pod (web-xxx) │ └── Pod (web-yyy) └── ReplicaSet (web-6c57bdf5f4) ← 版本 2 └── Pod (web-zzz)生产环境推荐 Deployment 的原因支持滚动更新零停机部署支持版本回滚支持暂停/恢复更新提供更新历史记录ReplicaSet 是 Deployment 的实现细节直接操作 ReplicaSet 会失去上述能力Selector 匹配规则Deployment 的spec.selector必须与 ReplicaSet 的selector一致两者都必须匹配 Pod 模板中的 labels不一致会导致 Deployment 无法管理 ReplicaSet题目七滚动更新策略与 maxSurge/maxUnavailable题目Deployment 滚动更新时maxSurge和maxUnavailable两个参数的作用是什么假设期望副本数为 10maxSurge25%maxUnavailable25%请计算最大副本数是多少最小可用副本数是多少考查知识点滚动更新机制 —— 第六期 §3.8maxSurge / maxUnavailable详细解答参数含义参数含义maxSurge滚动更新过程中超过期望副本数的最大数量百分比或绝对值maxUnavailable滚动更新过程中不可用副本数占期望值的最大比例百分比或绝对值计算期望副本数10maxSurge25%maxUnavailable25%maxSurge ceil(10 × 25%) 3向上取整maxUnavailable floor(10 × 25%) 2向下取整结果数值计算最大副本数1310 3最小可用副本数810 - 2配置示例yamlspec: strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25%题目八DaemonSet 的使用场景与调度题目DaemonSet 的典型使用场景有哪些为什么 master 节点上默认不会运行普通的 DaemonSet Pod如何让 DaemonSet 在 master 节点上运行考查知识点DaemonSet 使用场景 —— 第六期 §4.1Taint 与 Toleration —— 第六期 §4.3详细解答DaemonSet 典型场景场景示例日志收集Fluentd、Logstash每个节点采集日志监控采集Prometheus Node Exporter每个节点采集指标网络插件Calico Node、kube-proxy每个节点提供网络能力存储插件CSI Node Driver每个节点管理存储卷Master 节点默认不运行 DaemonSet Pod 的原因Master 节点有Taint污点node-role.kubernetes.io/control-plane:NoSchedule该 Taint 阻止普通 Pod 调度到 master 节点系统级 DaemonSet如 calico-node、kube-proxy通过 Toleration 可以绕过让 DaemonSet 在 master 节点运行的方法方法 1添加 Toleration推荐yamlspec: template: spec: tolerations: - key: node-role.kubernetes.io/control-plane operator: Exists effect: NoSchedule方法 2移除 Taint不推荐bashkubectl taint node master node-role.kubernetes.io/control-plane-题目九Job 的 restartPolicy 与 backoffLimit题目Job 的restartPolicy有哪两种有效取值它们的行为有何不同backoffLimit的作用是什么当一个 Job 因错误命令持续失败时如何避免无限创建 Pod考查知识点Job restartPolicy —— 第六期 §5.4backoffLimit —— 第六期 §5.5详细解答restartPolicy 有效取值策略行为Pod 数量适用场景Never失败时创建新的 Pod可能多个不希望 Pod 重启每次都是全新环境OnFailure失败时重启 Pod始终 1 个希望复用 Pod减少创建开销实验对比错误命令echoxxx策略观察结果Never多个 Pod 持续创建全部 StartErrorOnFailure始终 1 个 PodRESTARTS 不断增加backoffLimit控制 Job 失败重试的最大次数默认值为 6达到限制后Job 状态变为Failedyamlspec: backoffLimit: 2 # 最多重试 2 次避免无限创建 Pod设置合理的backoffLimit使用activeDeadlineSeconds设置超时使用restartPolicy: Never时注意重试次数优先级activeDeadlineSeconds的优先级高于backoffLimit。即使重试次数未达到限制超时后也会终止 Job。题目十CronJob 的并发策略与时间表题目CronJob 的.spec.concurrencyPolicy有哪三种取值分别说明其行为。Cron 时间表0 2 * * 1-5表示什么如果错过了调度时间如何控制是否执行考查知识点CronJob 并发策略 —— 第六期 §6.4Cron 时间表语法 —— 第六期 §6.3startingDeadlineSeconds —— 第六期 §6.4详细解答concurrencyPolicy 三种取值策略行为说明Allow默认允许并发执行即使旧 Job 未完成新 Job 仍会创建Forbid禁止并发执行旧 Job 未完成时跳过新 Job 的执行Replace替换当前运行的任务取消正在运行的 Job用新 Job 替换Cron 时间表解析0 2 * * 1-5分钟0小时2凌晨 2 点日*每天月*每月星期1-5周一至周五含义每周一至周五凌晨 2 点执行错过调度时间的控制startingDeadlineSeconds错过了调度时间后开始任务的截止时间秒yamlspec: startingDeadlineSeconds: 200 # 错过调度后 200 秒内仍可执行设置后超过截止时间则跳过该次执行不设置则没有截止时间适用于备份等可以跳过、但不能太晚执行的任务附知识点对应总表题号主要考查知识点对应笔记章节1第五期 §2、§3、§4 emptyDir / hostPath / NFS 对比2第五期 §5.1 PV/PVC 架构§5.5 访问模式3第五期 §5.6 PV 回收策略Retain4第五期 §6、§7 ConfigMap vs Secret5第五期 §6.4 ConfigMap 动态更新6第六期 §2 ReplicaSet§3 Deployment 关系7第六期 §3.8 滚动更新机制maxSurge/maxUnavailable8第六期 §4.1 DaemonSet 场景§4.3 Taint/Toleration9第六期 §5.4 restartPolicy§5.5 backoffLimit10第六期 §6.4 concurrencyPolicy§6.3 Cron 语法startingDeadlineSeconds学习建议对于答错的题目请回看第五期或第六期对应章节并动手在集群环境中验证。存储配置和控制器管理是 Kubernetes 生产环境的核心技能建议结合实验加深理解。— Compiled and Authored by Whisky — June 27th, 2026