mcpField
F
flux-operator

flux-operator

本地服务
fluxoperator.dev云与基础设施7821 天前更新

关于 flux-operator

flux-operator 是管理 CNCF Flux CD 生命周期的 Kubernetes CRD 控制器,面向需要批量管理 GitOps 集群的平台团队。它自动化 Flux 的安装、配置与升级,并提供 ResourceSet 自助环境和 Flux Web UI。项目同时提供 Flux MCP Server,供 AI 助手查询集群状态。

主要功能

  1. 01自动化安装、配置与升级 Flux 控制器
  2. 02ResourceSet API 定义可复用的应用模板
  3. 03基于 Pull Request 创建临时环境
  4. 04FluxReport 与 Prometheus 指标监控
  5. 05提供 Flux Web UI 实时查看流水线

适用场景

  1. 01统一管理多个集群的 Flux 安装与升级
  2. 02为开发团队提供自助部署环境
  3. 03通过自然语言排查 GitOps 部署问题

MCP 相关

Flux MCP Server 将 AI 助手连接到运行该 operator 的 Kubernetes 集群,使用自然语言分析部署状态、排查问题并执行操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

flux-operator

release Artifact Hub Operator Hub test license SLSA 3

Flux Operator 是一个 Kubernetes CRD 控制器,用于管理 CNCF Flux CD 和 ControlPlane 企业发行版的生命周期。 该 Operator 扩展了 Flux 的自助服务能力,提供部署窗口以及 GitHub、GitLab、Gitea 和 Azure DevOps 拉取请求的预览环境测试。


README 配图


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 工作流的复杂度,并支持开发者和平台团队实现自助服务。

指南:

文档

贡献

欢迎通过 GitHub 拉取请求为 Flux Operator 项目做出贡献。 有关如何设置开发环境并开始为项目做出贡献的详细信息,请参阅 CONTRIBUTING 指南。

许可证

Flux Operator 是一个开源项目,采用 AGPL-3.0 license 许可。

该项目由属于 ControlPlane 团队的 CNCF Flux 核心维护者开发。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。