# 1. etcdctl 常用运维命令中健康检查、成员管理、键值操作与快照恢复? A etcdctl v3 通过 HTTP REST 接口与 etcd 通信 B 恢复后需要将新成员重新添加到集群,才能参与 quorum ✓ 正确答案 C `snapshot restore` 会直接复用原数据目录中的 wal 文件 D `endpoint health` 只能检查单个端点的可用性
# 2. kube-controller-manager 的控制环(informer、workqueue、reconcile)如何工作? A informer 每次事件都直接发请求到 API Server 读取对象 B reconcile 必须保证非幂等才能准确 C workqueue 会对相同 key 去重,避免重复处理 ✓ 正确答案 D 控制器多副本会各自独立处理,无需协调
# 3. kube-scheduler 从监听待调度 Pod 到 filter/score 选出节点的完整调度流程? A filter 阶段用于给节点打分排序 B 绑定阶段将 Pod 的 nodeName 写入对象并异步执行 ✓ 正确答案 C score 阶段用于剔除不满足硬约束的节点 D 调度失败会立即删除 Pod
# 4. kubelet 的 PLEG 如何感知容器状态变化并驱动 Pod reconcile? A PLEG 直接接收容器运行时主动推送的事件 B PLEG 只负责网络状态 C PLEG 卡住不会影响 Pod 状态回写 D PLEG 通过异步轮询并对比状态生成事件 ✓ 正确答案
# 5. API Priority and Fairness(APF)限流机制中 FlowSchema、PriorityLevelConfiguration、请求排队与拒绝策略 A FlowSchema 决定某优先级级别的并发配额 B PriorityLevelConfiguration 负责把请求归入优先级 C 请求超出并发配额时会排队并可能被拒绝 ✓ 正确答案 D APF 与 --max-requests-inflight 是同一机制
# 6. K8s API 弃用(deprecation)策略中如何规划 API 迁移与集群升级? A GA 版本 API 弃用后通常保留较长时间供迁移 ✓ 正确答案 B API 一旦标记弃用会立即从集群移除 C 升级集群不需要先迁移弃用 API D alpha API 完全稳定,可长期依赖
# 7. Kubernetes 节点滚动升级策略中先升级 control plane 再逐批升级 worker 的次序如何安排? A 应优先升级所有 worker 节点 B kubelet 可以比 apiserver 高任意次版本 C 升级 worker 前无需 drain D 先升级 control plane 再逐批升级 worker ✓ 正确答案
# 8. Kubernetes 高可用架构在 3 etcd 与 5 etcd 的差异 A 3 节点 etcd 可容忍 2 个节点故障 B 5 节点 etcd 写性能必然高于 3 节点 C 5 节点 etcd 可容忍 2 个节点故障 ✓ 正确答案 D etcd 使用 Paxos 协议
# 9. control plane 节点扩缩容顺序中多 apiserver 的负载均衡、etcd 成员分布、滚动升级时的 leader 迁移 A 缩容时应先移除 etcd 成员再摘除 apiserver B etcd 成员增删必须保证剩余节点满足 quorum ✓ 正确答案 C rollover 升级时 leader 不会迁移 D apiserver 无需负载均衡
# 10. etcd 集群成员扩缩容与 learner 提升流程中 etcdctl member add、learner 节点配置与 learner 到 voting member 的提升条件 A learner 节点参与投票与 quorum B learner 会降低集群容错能力 C 提升不需要数据追平 D learner 数据追平后即可提升为 voting member ✓ 正确答案
# 11. k3s 内置 local-path provisioner 如何为 PVC 提供本地存储? A local-path PV 可跨节点迁移 B local-path 数据在 etcd 中 C local-path 提供跨节点复制 D local-path 数据只存在单节点,节点故障会丢失 ✓ 正确答案
# 12. kube-apiserver 如何通过 --tls-cert-file/--tls-private-key-file 配置服务端 TLS? A 服务端证书需包含 apiserver 的域名与 IP SAN ✓ 正确答案 B --tls-private-key-file 指定客户端证书 C 证书轮换无需重启 apiserver D 私钥可公开
# 13. kube-apiserver 的 --max-mutating-requests-inflight 如何限制变更请求并发? A 该参数限制只读请求并发 B 超限请求会被排队并可能返回 429 ✓ 正确答案 C 该参数与 --max-requests-inflight 相同 D 默认值是 0(不限制)
# 14. kube-apiserver 的 --max-requests-inflight 如何限制非变更请求并发? A 该参数限制写请求 B 默认值 200 C GET 请求不受该参数影响 D 只读请求超限会排队并可能返回 429 ✓ 正确答案
# 15. kube-apiserver 的 --service-account-issuer 如何配置 ServiceAccount Token 签发? A token 签发需配合 signing key 与 audience ✓ 正确答案 B issuer 就是 JWT 的 aud 字段 C 该参数只影响 kubelet 证书 D issuer 可随意修改不影响校验
# 16. kube-apiserver 访问 kubelet 的客户端证书(--kubelet-client-certificate/key)如何配置? A apiserver 无需证书即可访问 kubelet B 该证书只用于 metrics C apiserver 作为客户端访问 kubelet 需客户端证书 ✓ 正确答案 D kubelet 不验证 apiserver 身份
# 17. kubeadm join 的完整流程中 bootstrap token、证书分发与 kubelet 注册? A bootstrap token 是长期凭证 B join 不需要 CA 校验 C join 后 kubelet 用长期证书运行 ✓ 正确答案 D bootstrap token 只用于 kube-apiserver
# 18. kubelet memory manager 如何为 Guaranteed QoS Pod 预留内存? A memory manager 对所有 QoS Pod 生效 B static 模式是默认策略 C memory manager 与 CPU manager 无关 D memory manager 为 Guaranteed QoS Pod 预留内存且支持 NUMA ✓ 正确答案
# 19. kubelet 在 cgroup v2 下如何管理容器资源与统计? A cgroup v2 有多个层级树 B cgroup v2 不支持内存统计 C cgroup v2 通过 PSI 提供压力停滞信息 ✓ 正确答案 D Kubernetes 仍默认使用 cgroup v1
# 20. kubelet 节点关停的优雅退出机制中 --shutdown-grace-period 与 critical pods 的处理? A kubelet 关停时立即杀掉所有 Pod B 节点关停无法优雅终止 Pod C --shutdown-grace-period 只影响 static pods D critical pods 在普通 Pod 之后终止且时间更长 ✓ 正确答案
# 21. kubelet 镜像 GC 的 --image-gc-high-threshold/--image-gc-low-threshold 如何触发回收? A 使用率超过 low 阈值触发回收 B 回收持续到使用率低于 low 阈值 ✓ 正确答案 C 镜像 GC 会删除正在使用的镜像 D 两个阈值没有关系
# 22. Kubespray 如何基于 Ansible 批量部署与升级 Kubernetes 集群? A Kubespray 使用 Terraform 部署集群 B Kubespray 通过 Ansible playbook 部署集群 ✓ 正确答案 C Kubespray 只能部署单一网络插件 D Kubespray 不支持升级