关于 flux-operator
flux-operator 是管理 CNCF Flux CD 生命周期的 Kubernetes CRD 控制器,面向需要批量管理 GitOps 集群的平台团队。它自动化 Flux 的安装、配置与升级,并提供 ResourceSet 自助环境和 Flux Web UI。项目同时提供 Flux MCP Server,供 AI 助手查询集群状态。
主要功能
- 01自动化安装、配置与升级 Flux 控制器
- 02ResourceSet API 定义可复用的应用模板
- 03基于 Pull Request 创建临时环境
- 04FluxReport 与 Prometheus 指标监控
- 05提供 Flux Web UI 实时查看流水线
适用场景
- 01统一管理多个集群的 Flux 安装与升级
- 02为开发团队提供自助部署环境
- 03通过自然语言排查 GitOps 部署问题
MCP 相关
Flux MCP Server 将 AI 助手连接到运行该 operator 的 Kubernetes 集群,使用自然语言分析部署状态、排查问题并执行操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
flux-operator
Flux Operator 是一个 Kubernetes CRD 控制器,用于管理 CNCF Flux CD 和 ControlPlane 企业发行版的生命周期。 该 Operator 扩展了 Flux 的自助服务能力,提供部署窗口以及 GitHub、GitLab、Gitea 和 Azure DevOps 拉取请求的预览环境测试。
Flux CD 自动驾驶 - 该 Operator 提供了 Flux Bootstrap 流程的替代方案,通过完全自动化基于声明式 API 的 Flux 控制器安装、配置和升级,免除了在集群群组中管理 Flux 的运维负担。
高级配置 - 该 Operator 简化了 Flux 多租户锁定、分片、水平和垂直扩缩容、持久化存储的配置,并允许通过 Kustomize 补丁微调 Flux 控制器。该 Operator 还简化了从以 Git 作为集群期望状态交付机制,向 OCI 制品和兼容 S3 的存储过渡。
深入洞察 - 该 Operator 深入呈现 Flux 管理的交付流水线,包括有关 Flux 控制器就绪状态、协调器统计信息和集群状态同步的详细报告与 Prometheus 指标。 Flux Web UI 可实时查看 GitOps 流水线,帮助你监控部署、跟踪协调状态并排查问题。
自助服务环境 - 该 Operator 的 ResourceSet API 支持平台团队将自己的应用标准定义为一组 Flux 和 Kubernetes 资源,并将其模板化、参数化,然后作为单个单元部署到自助服务环境中。 ResourceSet API 可与 Git 拉取请求集成,为测试和验证创建临时环境。
AI 辅助 GitOps - Flux MCP Server 将 AI 助手连接到运行该 Operator 的 Kubernetes 集群,让你能够通过自然语言无缝交互。它是 AI 工具与 GitOps 流水线之间的桥梁,可帮助你分析不同环境中的部署、排查问题,并通过对话式提示词执行操作。
企业支持 - 该 Operator 是 ControlPlane 企业服务的关键组件,旨在以安全可靠的方式,将新的 Flux 版本、CVE 补丁和热修复自动部署到生产环境。 该 Operator 与 ControlPlane Flux 发行版在 Red Hat OpenShift、Amazon EKS、Azure AKS 和 Google GKE 上经过端到端测试。
快速入门指南
安装 Flux Operator
在 flux-system 命名空间中安装 Flux Operator,例如使用 Helm:
helm install flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator \
--namespace flux-system
说明
可以使用 Helm、Terraform、OperatorHub、kubectl 等方式安装 Flux Operator。 如需了解更多信息,请参阅 安装指南。
安装 Flux 控制器
在 flux-system 命名空间中创建一个名为 flux 的
FluxInstance 资源,以安装最新的 Flux 稳定版本:
apiVersion: fluxcd.controlplane.io/v1
kind: FluxInstance
metadata:
name: flux
namespace: flux-system
annotations:
fluxcd.controlplane.io/reconcileEvery: "1h"
fluxcd.controlplane.io/reconcileArtifactEvery: "10m"
fluxcd.controlplane.io/reconcileTimeout: "5m"
spec:
distribution:
version: "2.x"
registry: "ghcr.io/fluxcd"
artifact: "oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests"
components:
- source-controller
- kustomize-controller
- helm-controller
- notification-controller
- image-reflector-controller
- image-automation-controller
cluster:
type: kubernetes
size: medium
multitenant: false
networkPolicy: true
domain: "cluster.local"
kustomize:
patches:
- target:
kind: Deployment
patch: |
- op: replace
path: /spec/template/spec/nodeSelector
value:
kubernetes.io/os: linux
- op: add
path: /spec/template/spec/tolerations
value:
- key: "CriticalAddonsOnly"
operator: "Exists"
说明
可以通过多种方式自定义 Flux 实例。 如需了解更多信息,请参阅 配置指南。
从 Git 仓库同步
要从 Git 仓库同步集群状态,请将以下配置添加到 FluxInstance:
apiVersion: fluxcd.controlplane.io/v1
kind: FluxInstance
metadata:
name: flux
namespace: flux-system
spec:
sync:
kind: GitRepository
url: "https://github.com/my-org/my-fleet.git"
ref: "refs/heads/main"
path: "clusters/my-cluster"
pullSecret: "flux-system"
# distribution omitted for brevity
如果源仓库是私有的,则必须在 flux-system 命名空间中创建 Kubernetes 密钥,
其中应包含用于克隆仓库的凭据:
flux create secret git flux-system \
--url=https://github.com/my-org/my-fleet.git \
--username=git \
--password=$GITHUB_TOKEN
说明
如需了解如何配置从 Git 仓库、容器注册表和 S3 兼容存储进行同步, 请参阅 集群同步指南。
监控 Flux 安装
要监控 Flux 部署状态,请检查 flux-system 命名空间中的
FluxReport
资源:
kubectl get fluxreport/flux -n flux-system -o yaml
报告会定期更新,包含部署就绪状态、发行版详情、协调器统计信息、Flux CRD 版本、 集群同步状态等信息。
访问 Flux Web UI
要访问 Flux Web UI, 可以将 Operator 服务进行端口转发:
kubectl -n flux-system port-forward svc/flux-operator 9080:9080
请注意,可以配置 Flux Web UI,使用 Ingress 和单点登录实现安全的外部访问。
ResourceSet API
Flux Operator 的 ResourceSet API 提供了一种高级抽象,可将 Flux 资源和相关 Kubernetes 对象定义并管理为一个整体。 ResourceSet API 旨在降低 GitOps 工作流的复杂度,并支持开发者和平台团队实现自助服务。
指南:
文档
- 安装
- Flux 配置
- CRD 参考
贡献
欢迎通过 GitHub 拉取请求为 Flux Operator 项目做出贡献。 有关如何设置开发环境并开始为项目做出贡献的详细信息,请参阅 CONTRIBUTING 指南。
许可证
Flux Operator 是一个开源项目,采用 AGPL-3.0 license 许可。
该项目由属于 ControlPlane 团队的 CNCF Flux 核心维护者开发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。