开发者生态
morning
Flux 推出 Mirror 插件:只让可信产品进入 Kubernetes 集群
2026-08-27
1 阅读
约8分钟阅读
作者:Matt Saunders
字号:
Flux 推出了 Flux Mirror ",这是一款 CLI 插件,可以根据声明式配置在注册表之间镜像容器镜像、Helm Chart 和 OCI 制品。该插件是 Flux v2.9 CLI 插件系统 "的一部分,旨在让 Kubernetes 集群仅从团队自行运营的注册表中进行协调。该产品契合 Flux 项目向无 Git GitOps 转型的方向:在运行时,由 OCI 注册表而非 Git 仓库充当期望状态的事实来源。 Flux Mirror 旨在解决由组织控制范围之外的注册表托管制品所带来的长期运维问题。公告列举了几个常见案例,包括 Docker Hub 速率限制 "以及 Broadcom 在 2025 年 冻结广受欢迎的免费 Bitnami 目录 "的决定,以此提醒人们,外部注册表的策略可能在一夜之间成为生产架构的一部分。他们在公告中表示,每位 Kubernetes 用户都应该能够回答以下问题:自己的制品存放在哪里、谁能更改它们,以及上游来源消失时会发生什么,即使他们并未使用 Flux。 Flux Mirror 的覆盖范围包括三类主要制品和一小组经过谨慎定义的功能。它可以逐字节复制容器镜像,包括多架构清单列表;可以将 HTTP 仓库中的 Helm Chart 镜像到 OCI 注册表;还可以迁移 Flux 自身的期望状态制品。配置文件描述了需要镜像的内容、来源和目标位置,让团队能够将注册表内容作为声明式状态编码在版本控制系统中。 将身份策略、证明和制品最短存续时间结合起来,可以把你的镜像系统变成我们所说的供应链二极管。每位 Kubernetes 用户都应该明确回答这些问题:这些制品存放在哪里、谁能更改它们,以及上游消失时会发生什么。- Flux CD 团队 " Flux Mirror 将容器镜像、Helm Chart 和 Flux OCI 期望状态制品整合到一个迁移工作流中,把基于 HTTP 的 Helm Chart 重新发布为确定性的 OCI 制品,使 Flux 无需依赖上游 Chart 索引即可使用这些制品。它应用了一条由正则表达式、语义化版本约束、排序和前 N 项限制组成的选择器管线,让团队只镜像实际使用的版本。 Flux Mirror 可以使用 Cosign 签名和身份信息,在复制每个制品之前检查它是否由正确的人员或构建系统签名。它还可以一并传输 SBOM 和构建来源信息,以便 Flux 在集群上重新检查这些证据。它还会对签名实施最短存续时间限制,因此新签名的制品会被暂缓处理,只有在公开时间长到足以被视为安全后才会进行镜像。 公告还展示了 Flux Mirror 如何在运维层面融入围绕 Flux OCI 支持构建的无 Git GitOps 管线。团队可以安装该插件,并使用一个专用的设置 Action 从 GitHub Actions 运行同步,该 Action 会在首次使用前验证制品证明;也可以将其作为与集群及注册表共同部署的 Kubernetes CronJob 运行。密钥同样可以被镜像,包括用于云工作负载的短期令牌,并可在 Kubernetes 集群的 imagePullSecrets 或 secretRef 字段中使用。 Flux Mirror 并非解决这一问题的唯一方案,还有其他相关工作也在推进。UnifyDrive 和 Argo CD 提供的指南展示了如何结合使用 regctl、Helm 和 ORAS,在注册表之间复制 Chart 和镜像,并通过 Argo CD 的 OCI 支持使用它们,不过这些方案不具备 Flux Mirror 提供的集成式验证和漂移检测。诸如 helmper " 这样的社区工具同样专注于 Helm Chart 和镜像同步,进一步表明制品迁移如今已被视为一个独立的运维问题。 公告讨论了制品最短存续时间。随着今年供应链攻击愈发迅速,这已成为当前的一个重要问题,例如 Shai Hulud 蠕虫及其后续攻击浪潮 ",以及 Aqua Security 的 Trivy GitHub Action 遭入侵事件 ",后者导致恶意制品在线存在了数日。InfoQ 最近还报道了 开源生态系统中的协同防御 ",以及 Chainguard 基于数据得出的观点,即 大多数容器 CVE 实例都出现在不太热门镜像的长尾部分 ",而不是使用最广泛的前 20 个镜像中。这些案例共同说明,为什么只允许经过签名并达到一定存续时间的制品进入私有注册表的策略,可以被视为软件供应链中的一种单向二极管。 Flux 的支持者 Control Plane 在 X 上发文 ",简洁概括了 Flux Mirror 试图缓解的风险: 当你在 Kubernetes Deployment 中直接从公共注册表拉取镜像时,就相当于让这些注册表的正常运行时间、速率限制和保留策略成为生产架构的一部分。- Control Plane 在 回复 LinkedIn 公告帖 "时, BIMP " 创始人 Hannah Foxwell 强调,注册表需要集中提供开发人员所需的全部制品: 平台团队希望开发团队使用经过筛选的私有注册表,但要做到这一点,就必须确保注册表能在他们需要时提供所需的一切。- Hannah Foxwell 对于已经使用 Flux 或正在考虑无 Git GitOps 的团队,该插件提供了一种将制品迁移到私有注册表、实施身份和最短存续时间策略并持续轮换拉取凭据的方法,而无需维护大量定制脚本。对于其他团队而言,它详细展示了如何设计声明式镜像管线,将镜像、Chart 和配置制品与经过验证的来源信息相结合,并控制它们从公共基础设施流向生产集群。Flux 网站提供了 完整的操作演示 "。 原文链接: https://www.infoq.com/news/2026/08/flux-mirror-gitless-gitops/ "
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱