基础设施高级测验
相关文档: 基础设施高级
单选题
1. 在 blue/green 部署中,NLB weighted target groups 的主要用途是什么?
- A) 通过使用更少的 load balancer 来降低成本
- B) 控制不同 cluster 版本之间的流量分配
- C) 提高 SSL 终止性能
- D) 消除对 health check 的需求
显示答案
答案:B) 控制不同 cluster 版本之间的流量分配
说明: NLB weighted target groups 允许在 blue(当前)cluster 和 green(新)cluster 之间逐步切换流量。通过调整权重(例如 90:10、50:50、0:100),运维人员可以执行受控发布,并在检测到问题时快速回滚。
2. 在单可用区 EKS cluster 策略中,为什么可能只将 data nodes 部署到一个 Availability Zone?
- A) 降低跨 AZ 数据传输成本
- B) 简化 DNS 配置
- C) 避免使用多个 subnet
- D) 消除对 persistent volumes 的需求
显示答案
答案:A) 降低跨 AZ 数据传输成本
说明: 在 AWS 中,跨 AZ 数据传输会产生费用。对于使用本地存储的数据密集型 workload(如数据库),将所有副本保持在单个 AZ 中可以消除这些成本,同时依赖应用层复制来保证持久性。
3. 哪个 Kubernetes 功能可以确保 pods 分布在不同的 zone 或 node 上?
- A) PodAffinity
- B) TopologySpreadConstraints
- C) ResourceQuota
- D) LimitRange
显示答案
答案:B) TopologySpreadConstraints
说明: TopologySpreadConstraints 控制 pods 如何分布在 topology domains(zone、node、region)之间。它们确保高可用所需的均匀分布,并且可以使用 maxSkew、topologyKey 和 whenUnsatisfiable 参数进行配置。
4. Route53 weighted routing 与 NLB weighted target groups 有何不同?
- A) Route53 在 DNS 级别工作,NLB 在连接级别工作
- B) Route53 仅支持相等权重
- C) NLB 不支持 health check
- D) Route53 需要 VPC peering
显示答案
答案:A) Route53 在 DNS 级别工作,NLB 在连接级别工作
说明: Route53 weighted routing 在 DNS 解析时分配流量,而 NLB weighted target groups 在连接级别分配流量。基于 DNS 的 routing 需要考虑 TTL,而 NLB 提供更即时的流量切换。
5. 在 3-AZ 部署中,TopologySpreadConstraints 推荐的 maxSkew 值是多少?
- A) 0
- B) 1
- C) 3
- D) 10
显示答案
答案:B) 1
说明:maxSkew 为 1 可确保 pods 均匀分布,使 topology domains 之间最多只相差一个 pod。这在节点存在资源限制时,既能提供良好平衡,也仍然允许调度灵活性。
6. 在 blue/green cluster 架构中,哪些内容应在 clusters 之间共享?
- A) Worker nodes
- B) 外部 DNS 和 load balancer
- C) etcd 存储
- D) Kubernetes API server
显示答案
答案:B) 外部 DNS 和 load balancer
说明: Blue/green clusters 是独立的 EKS clusters,它们共享 DNS 记录和 load balancer 等外部基础设施。这允许在不更改面向客户端的 endpoint 的情况下,在 clusters 之间切换流量。
7. 在 TopologySpreadConstraints 中设置 whenUnsatisfiable: DoNotSchedule 时会发生什么?
- A) Pods 会不受约束地被调度到任意位置
- B) 如果无法满足约束,Pods 会保持 pending 状态
- C) Pods 会被自动删除
- D) 该约束会被忽略
显示答案
答案:B) 如果无法满足约束,Pods 会保持 pending 状态
说明: 当 spread constraint 会被违反时,DoNotSchedule 会阻止 pod 调度。这可确保严格遵守 topology 要求,但如果 cluster topology 不支持该约束,可能会导致 pods 处于 pending 状态。
8. 对于 blue/green clusters 之间的自动故障转移,可以结合 health check 使用哪个 AWS 服务?
- A) AWS Config
- B) Route53 health checks 与 failover routing
- C) AWS Inspector
- D) AWS Trusted Advisor
显示答案
答案:B) Route53 health checks 与 failover routing
说明: Route53 health checks 持续监控 endpoint 可用性,并可以使用 failover routing policy 自动将流量切换到健康的 cluster。这可以在无需人工干预的情况下实现自动灾难恢复。
9. 使用 NLB cross-zone load balancing 时,一个关键注意事项是什么?
- A) 它始终免费
- B) 它可能产生额外的数据传输费用
- C) 它需要 VPC peering
- D) 它仅适用于 TCP protocol
显示答案
答案:B) 它可能产生额外的数据传输费用
说明: 启用 cross-zone load balancing 时,NLB 会将流量均匀分配到所有启用 AZ 中的所有已注册 targets,这可能会产生跨 AZ 数据传输费用。在设计 multi-AZ 部署架构时,需要考虑这项成本。
10. 在 zonal cluster 部署(a-zone blue、c-zone green)中,主要优势是什么?
- A) 降低网络复杂度
- B) 故障隔离和独立升级路径
- C) 更低的计算成本
- D) 自动数据复制
显示答案
答案:B) 故障隔离和独立升级路径
说明: Zonal clusters 提供 failure domain 隔离——一个 zone 中的问题不会影响另一个 cluster。这也支持独立的升级测试和渐进式发布,从而降低 Kubernetes 版本升级期间的风险。