# 1. Argo CD 的控制循环如何将 Git 期望状态同步到集群(diff/sync)? A Argo CD 只在首次部署时比对一次 B Argo CD 直接执行用户的任意脚本 C Argo CD 持续比较 Git 期望状态与集群实际状态,经 diff 后按策略 sync 收敛,并支持自愈与 prune ✓ 正确答案 D Argo CD 无法删除集群中多余资源
# 2. ArgoCD 的 App-of-Apps 与 ApplicationSet 如何管理大规模多环境应用? A 大规模场景应手写每个 Application 以清晰可控 B App-of-Apps 分层组织应用,ApplicationSet 按参数批量生成 Application,二者配合适合多环境多集群 ✓ 正确答案 C ApplicationSet 只能用于单一应用 D App-of-Apps 与 ApplicationSet 互斥,不能同时使用
# 3. Flux 的多集群管理中 Kustomization、HelmRelease、多租户 RBAC 与 Image Automation A Flux 只能管理单个集群 B Flux 的 RBAC 无法在多租户中生效 C Image Automation 与 GitOps 声明式理念冲突,应禁用 D Kustomization 同步目录、HelmRelease 部署 chart、RBAC 隔离租户、Image Automation 自动更新镜像 ✓ 正确答案
# 4. GitOps 在 pull 模式与 push 模式的取舍 A 两者完全等价,无差别 B pull 模式由集群内 Agent 主动拉取,凭据留在集群内更安全;push 模式由 CI 主动推送,实现简单但暴露面大 ✓ 正确答案 C pull 模式必须暴露集群端口 D GitOps 只能使用 push 模式
# 5. GitOps 删除同步与 Prune 中资源删除如何安全执行、orphan 资源识别与级联删除风险控制 A Prune 应无条件清理所有多余资源 B 删除资源无需任何预览 C 应通过 dry-run 预览、关键资源保护注解与依赖评估来安全执行删除,避免级联误删 ✓ 正确答案 D Prune 只在首次部署时发生
# 6. 渐进式发布与 GitOps 协同中金丝雀/蓝绿期间 Git 期望状态与实际流量状态的偏差如何管理 A Git 中的期望状态应实时反映中间流量权重 B Git 状态与流量状态必须完全一致 C 渐进式发布期间不应操作任何流量 D 用 Argo Rollouts/Flagger 在 Git 期望状态之上编排流量,先切新版本按指标放大再收敛到终态,回滚时切回旧版本 ✓ 正确答案
# 7. Flux 与 ArgoCD 在同步机制、通知与多集群管理上的差异? A 两者完全一致 B Flux 不支持通知 C ArgoCD 不支持 webhook D ArgoCD 偏向单控制面集中管理多集群且内置 UI,Flux 偏向分布式多集群且更轻量 ✓ 正确答案
# 8. GitOps 与 IaC 的协同中 Terraform 管理集群外基础设施、GitOps 管理集群内资源的边界如何划分 A 集群内资源也应全部用 Terraform 管理 B 两者不能同时使用 C Terraform 管集群外基础设施与集群创建,GitOps 管集群内资源的持续交付,两层面边界清晰 ✓ 正确答案 D GitOps 应负责创建 VPC 等基础设施
# 9. GitOps 中期望状态(desired state)如何定义并作为唯一事实来源? A 期望状态是命令式脚本描述达到目标的过程 B 期望状态无法回滚 C 实际状态应优先于期望状态 D 期望状态用声明式 manifest 定义,Git 提供版本化、可审计与回滚能力,从而成为唯一事实来源 ✓ 正确答案
# 10. GitOps 如何获取集群实际状态并与期望状态做差异比对? A 实际状态直接取 Git 中的 manifest 即可 B 差异比对无需归一化,可直接比较 C 控制器通过 API Server 读取 live 状态,做字段归一化后与期望状态 diff,据此标记 OutOfSync 并决定是否同步 ✓ 正确答案 D 控制器从不读取集群实际状态
# 11. GitOps 的"配置漂移"如何检测(Diff/自动同步),误同步如何防范? A 通过定期 Diff 检测漂移,自动同步时配合 dry-run 预览、关键资源保护与审计来防止误同步 ✓ 正确答案 B 漂移无需检测,只需定期人工核对 C 自动同步会自动纠正一切,无需任何保护 D 漂移检测只针对首次部署
# 12. GitOps 的核心,即声明式、版本控制与自动同步如何结合? A GitOps 的自动同步与声明式无关 B GitOps 只需要版本控制,无需声明式 C 声明式、版本控制与自动同步三者共同构成 GitOps 的核心 ✓ 正确答案 D GitOps 不使用 Git 作为事实来源
# 13. 大规模 GitOps 同步性能中 Webhook 触发与轮询的取舍、同步风暴与并发限流的治理 A 只用轮询即可,无需考虑负载 B Webhook 触发低延迟、轮询兜底,并对并发同步限流、防同步风暴,兼顾可靠性与性能 ✓ 正确答案 C 同步风暴无法治理 D 并发同步越多越好
# 14. GitOps 分支保护与变更审批中签名提交、PR 评审与自动同步之间的权限边界设计 A 变更审批应放在集群层,控制器直接改集群 B 自动同步可绕过 Git 审批直接变更 C 签名提交可省略 D 生产分支受保护,PR 评审与签名提交在 Git 层把关,控制器只负责按 Git 收敛而不绕过审批 ✓ 正确答案
# 15. Argo CD 的同步与回滚机制中 sync 策略、资源钩子(hooks)与回滚到历史版本的流程 A 回滚是直接删除集群资源 B Argo CD 不支持回滚 C 通过 sync 策略(prune/force)、sync hooks 编排同步,回滚时把 targetRevision 指回历史版本重新收敛 ✓ 正确答案 D sync hooks 只用于通知
# 16. GitOps 中 CI 的产物如何交付给 CD,即镜像 digest、清单生成与推送仓库的分工与安全边界 A CI 构建镜像并更新 Git 中的 manifest digest,CD 从 Git 读取并同步,CI 不直接操作生产 ✓ 正确答案 B CI 直接部署生产集群 C 镜像 digest 无需固定 D CD 负责构建镜像
# 17. GitOps 中密钥如何管理(SealedSecrets/SOPS/External Secrets)而不落入 Git? A 密钥可直接明文写入 Git 便于管理 B 密钥只能由人工在集群内创建 C 用 SealedSecrets/SOPS 加密或 External Secrets 引用外部密钥源,保证密钥不落 Git,由集群内机制解密 ✓ 正确答案 D GitOps 无法管理密钥
# 18. GitOps 同步失败的排障中 manifest 校验失败、资源冲突、权限不足与网络问题如何区分定位 A 按 manifest 校验、资源冲突、权限不足、网络问题分类定位,分别检查渲染、事件/RBAC、连通性 ✓ 正确答案 B 所有失败都应直接重试 C 权限不足与网络问题无区别 D 同步失败无需看日志
# 19. GitOps 工具的 Provider/插件机制中 ArgoCD/Flux 如何通过插件与云 API 集成管理基础设施 A 插件机制让 GitOps 只能处理单一格式 B 插件与云 API 无关 C 通过 CMP 等插件接入自定义渲染器,并可对接云 API 扩展管理基础设施,扩大声明式边界 ✓ 正确答案 D Flux 不支持任何扩展
# 20. 多环境 GitOps 的仓库布局中环境目录(dev/staging/prod)、promotion 流程与并行版本如何处理 A 各环境应共用同一份 manifest 不做区分 B 环境间无需晋升流程 C 按环境分目录并用 overlay 复用公共基线,制品按 digest 逐环境晋升,版本可追溯可回滚 ✓ 正确答案 D 并行版本无法管理