ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Cilium 如何将身份管理从 Agent 迁移到 Operator 而不中断连接

Cilium 如何将身份管理从 Agent 迁移到 Operator 而不中断连接 Cilium 如何将身份管理从 Agent 迁移到 Operator 而不中断连接【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium在 Cilium 中Cilium IdentityCID默认由每个节点上的 Cilium Agent 管理。当你希望把身份创建集中到 Cilium Operator同时又不希望现有连接和工作负载管理受到中断时官方文档给出了一条两阶段的迁移路径先让 Operator 和 Agent 同时管理身份both再把管理权切到 Operatoroperator。这条中间态是刻意设计的过渡状态目的就是在切换期间把对集群的影响降到最低。该功能目前标记为 Betaidentity-management-mode.rst 中的说明使用时如遇问题建议反馈 issue。为什么要把身份管理切到 Operator文档给出的背景是集群中身份总数和 eBPF Policy Map 大小存在上限。多个 Agent 同时为同一组标签创建身份时可能出现 CID 重复由 Operator 集中创建身份可以减少这种重复从而提高网络策略的可靠性和集群的可扩展性。如果你的集群规模或策略复杂度已经接近这些上限这就是迁移的动机。迁移前的准备当前模式下identityManagementMode的默认值为agentHelm values 中为identityManagementMode: agentAgent 和 Operator 的--identity-management-mode参数默认值均为agent见 cilium-agent.md。配置入口有两个任选其一即可Helm chart 的identityManagementMode值cilium-configConfigMap 中的identity-management-mode标志取值agent/operator/both。如果后续还要调整与身份管理相关的标签在 Cilium ConfigMap 中配置参见 identity-management-mode.rst 中指向identity-relevant-labels的说明注意当 Operator 管理身份时必须同时重启 Operator 和 Agent 才能生效。迁移步骤Agent → Operator按文档给出的顺序执行两步之间有一个“双方同时管理身份”的过渡态第一步进入过渡态both重启 Operator在 Helm chart 中将identityManagementMode设为both或等价地在cilium-configConfigMap 中设置identity-management-mode: both# Helm values identityManagementMode: both# cilium-config ConfigMap identity-management-mode: both设置完成后重启 Cilium Operator让 Operator 开始承担身份管理。第二步确认 Operator 运行后把 Agent 切到operator待 Operator 正常运行后将identityManagementMode改为operatorHelm values或在cilium-config中设置identity-management-mode: operator然后重启 Cilium Agent DaemonSet。至此身份创建由 Operator 集中完成。注意文档的提示只要 Cilium Agent 还在创建身份即停留在both过渡态期间CID 重复问题就可能发生因此both状态只应作为迁移期间的临时状态不要长期保持。回退从 Operator 降回 Agent 管理如果迁移后需要回退文档给出的安全顺序与迁移相反同样借助both过渡态先把 Cilium Agent 降回both在 Helm 或cilium-config中设置identity-management-mode: both重启 Cilium Agent DaemonSet待 Agent 运行后再把 Operator 降回agent重启 Operator。不要在未让 Agent 先回到both的情况下直接把 Operator 改为agent否则会跳过过渡态、失去双管理缓冲。结果验证观察 Operator 的身份管理指标文档没有给出迁移完成的固定日志或输出样例而是指向 metrics 文档 中的 Identity Management Mode 一节列出了两个与 Operator 管理身份直接相关的指标指标标签说明文档原文cid_controller_work_queue_event_countresource,outcomeCounts processed events by CID controller work queuescid_controller_work_queue_latencyresource,phaseDuration of CID controller work queues enqueuing and processing latencies in seconds迁移完成后Operator 侧的 CID controller 工作队列应持续处理事件cid_controller_work_queue_event_count有事件统计、延迟指标有读数这可以作为 Operator 已实际承担身份管理工作的观察依据。文档没有规定具体阈值请以你集群迁移前的基线自行对比不要假设固定数值。限制与注意事项该功能是 Beta 特性官方文档提示遇到问题应反馈。both是迁移专用的临时过渡态长期停留在该状态仍可能出现 CID 重复。调整身份相关标签配置时Operator 与 Agent 都要重启才会生效缺一不可。完整说明以 Documentation/network/kubernetes/identity-management-mode.rst 为准指标定义见 Documentation/observability/metrics.rst。【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进