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. 01Flux コントローラーの自動インストールとアップグレード
  2. 02再利用可能なアプリケーション定義のための ResourceSet API
  3. 03プルリクエストから作成するエフェメラル環境
  4. 04FluxReport と Prometheus メトリクスによる監視
  5. 05パイプラインをリアルタイムに確認できる Flux Web UI

活用シーン

  1. 01複数クラスターにまたがる Flux の導入とアップグレードを管理する
  2. 02開発チームにセルフサービスのデプロイ環境を提供する
  3. 03自然言語で GitOps のデプロイ問題を調査する

MCP 対応

Flux MCP Server は、このオペレーターが稼働する Kubernetes クラスターに AI アシスタントを接続し、会話形式でデプロイの分析、問題調査、操作を行えるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

flux-operator

release Artifact Hub Operator Hub test license SLSA 3

Flux Operator は、CNCF Flux CD および ControlPlane のエンタープライズディストリビューションのライフサイクルを管理する Kubernetes CRD コントローラーです。 このオペレーターは、セルフサービス機能、デプロイウィンドウ、GitHub、GitLab、Gitea、Azure DevOps のプルリクエストをテストするためのプレビュー環境によって Flux を拡張します。


README の画像


Flux のオートパイロット - このオペレーターは Flux Bootstrap 手順に代わる方法を提供します。宣言型 API に基づいて Flux コントローラーのインストール、設定、アップグレードを完全に自動化することで、クラスター群全体にわたる Flux の管理に伴う運用負荷を軽減します。

高度な設定 - このオペレーターは、Flux のマルチテナンシーのロックダウン、シャーディング、水平・垂直スケーリング、永続ストレージの設定を簡素化し、Kustomize パッチを使用した Flux コントローラーの詳細な調整を可能にします。また、クラスターの望ましい状態を Git で管理する方式から、OCI アーティファクトや S3 互換ストレージへ移行するプロセスを効率化します。

深い洞察 - このオペレーターは、Flux が管理するデリバリーパイプラインについて、Flux コントローラーの準備状況、リコンサイラーの統計、クラスター状態の同期に関する詳細なレポートや Prometheus メトリクスなど、深い洞察を提供します。 Flux Web UI では GitOps パイプラインをリアルタイムで確認でき、デプロイの監視、調整状況の追跡、問題のトラブルシューティングを行えます。

セルフサービス環境 - このオペレーターの ResourceSet API を使うと、プラットフォームチームは Flux と Kubernetes のリソースをグループ化し、独自のアプリケーション標準として定義できます。これらのリソースはテンプレート化、パラメーター化でき、セルフサービス環境に単一のユニットとしてデプロイできます。 ResourceSet API は Git のプルリクエストと連携し、テストと検証のための一時的な環境を作成します。

AI 支援型 GitOps - Flux MCP Server は、オペレーターを実行する Kubernetes クラスターに AI アシスタントを接続し、自然言語によるシームレスな操作を可能にします。AI ツールと GitOps パイプラインをつなぐ橋渡しとして機能し、環境をまたいだデプロイの分析、問題のトラブルシューティング、会話形式のプロンプトによる操作を行えます。

エンタープライズサポート - このオペレーターは ControlPlane のエンタープライズプランの主要コンポーネントであり、本番環境への新しい Flux バージョン、CVE パッチ、ホットフィックスのロールアウトを安全かつ確実に自動化するよう設計されています。 ControlPlane Flux ディストリビューションとともに、Red Hat OpenShift、Amazon EKS、Azure AKS、Google GKE でエンドツーエンドのテストを実施しています。

クイックスタートガイド

Flux Operator をインストールする

たとえば Helm を使用して、flux-system 名前空間に Flux Operator をインストールします。

helm install flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator \
  --namespace flux-system

メモ

Flux Operator は、Helm、Terraform、OperatorHub、kubectl などの方法でインストールできます。 詳細については、 インストールガイドを参照してください。

Flux コントローラーをインストールする

最新の Flux 安定版をインストールするには、flux-system 名前空間に flux という名前の FluxInstance リソースを作成します。

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

ソースリポジトリがプライベートの場合は、Kubernetes シークレットを flux-system 名前空間に作成し、 リポジトリをクローンするための認証情報を含める必要があります。

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にアクセスするには、 オペレーターサービスにポートフォワードできます。

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 Operator プロジェクトへの GitHub プルリクエストによる貢献を歓迎します。 開発環境のセットアップ方法やプロジェクトへの貢献を始める方法については、 CONTRIBUTING ガイドをご覧ください。

ライセンス

Flux Operator は、AGPL-3.0 license のもとでライセンスされているオープンソースプロジェクトです。

このプロジェクトは、ControlPlane チームに所属する CNCF Flux のコアメンテナーによって開発されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。