集群架构与组件

共 22 题
#

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 不支持升级