AIエージェントのランタイムや強化学習ワークロード向けに、分離されたステートフルな単一Podサンドボックスを管理するKubernetesコントローラーとCRD。
kubernetes-sigs/controller-runtime
KubernetesコントローラーやOperatorの構築に使うGoライブラリ群。KubebuilderとOperator SDKの基盤です。
- スター
- 2,988
- フォーク
- 1,332
- 未解決の Issue
- 69
- 最終コミット
- 3 日前
これは何?
controller-runtimeは、Kubernetesコントローラーを記述するためのGoライブラリ群です。コントローラーはクラスター内のリソースを監視し、APIで宣言された望ましい状態に実際の状態を近づけます。このライブラリは、コントローラーを実行するManager、監視対象やreconcileループを設定するBuilder、オブジェクトの読み書きを行うClientなど、このパターンに必要な共通機能を提供します。
このプロジェクトは、Operatorの雛形を作成する際によく使われるKubebuilderとOperator SDKを支える共通ランタイムです。Goでコントローラーを直接構築する開発者は、informerやwork queueのコードを自分で書く代わりに、通常これらのパッケージをimportします。各バージョンはKubernetesのマイナーリリースに対応しており、controller-runtimeの各リリースに対応するclient-goのバージョンと、必要なGoの最低バージョンを互換性テーブルで確認できます。
主な機能
- 01複数のコントローラーを実行・調整するManager
- 02監視対象やreconcileロジックを宣言するBuilder API
- 03Kubernetesオブジェクトの読み書きに使うキャッシュ付きClient
- 04Webhookとリーダー選出への対応
- 05各リリースとclient-goおよびGoのバージョンの対応を示す互換性テーブル
ユースケース
- GoでカスタムKubernetes Operatorを構築する
- カスタムリソース定義をreconcileするコントローラーを記述する
- Kubebuilderで生成したプロジェクトにコントローラーロジックを追加する
クイックスタート
- 1
このライブラリを基盤とする Kubebuilder または Operator SDK から始めましょう(Kubebuilder のクイックスタートを参照)
使う前に知っておきたいこと
- このプロジェクトはメジャーバージョン 0 のままで、マイナーバージョン間で破壊的変更が行われることがあります。
- 各マイナーバージョンには、対応する client-go のバージョンと最低 Go バージョンが定められているため、Kubernetes の依存関係と一致させる必要があります。
収録されている特集
トピック
よくある質問
- controller-runtime とは?
- KubernetesコントローラーやOperatorの構築に使うGoライブラリ群。KubebuilderとOperator SDKの基盤です。 controller-runtimeは、Kubernetesコントローラーを記述するためのGoライブラリ群です。コントローラーはクラスター内のリソースを監視し、APIで宣言された望ましい状態に実際の状態を近づけます。このライブラリは、コントローラーを実行するManager、監視対象やreconcileループを設定するBuilder、オブジェクトの読み書きを行うClientなど、このパターンに必要な共通機能を提供します。
- controller-runtime は無料で使えますか?ライセンスは?
- controller-runtime は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- controller-runtime は今もメンテナンスされていますか?
- 活発にメンテナンス中。controller-runtime の最終コミットは 2026年11月5日 です。
- controller-runtime は何に使えますか?
- GoでカスタムKubernetes Operatorを構築する カスタムリソース定義をreconcileするコントローラーを記述する Kubebuilderで生成したプロジェクトにコントローラーロジックを追加する
- controller-runtime のインストール方法は?
- このライブラリを基盤とする Kubebuilder または Operator SDK から始めましょう(Kubebuilder のクイックスタートを参照)
- controller-runtime はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kubernetes-sigs/controller-runtime
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
controller-runtimeを基盤とし、高水準API、スキャフォールディング、コード生成を提供する、Kubernetes Operator構築用のGo SDKです。
一時コンテナとしてセルフホスト型GitHub Actions runnerを実行し、自動スケーリングするKubernetes operator。
RayCluster、RayJob、RayServiceリソースを通じてRayアプリケーションをデプロイ、管理するKubernetesオペレーター。
AIバックエンドを使ってクラスターの問題を診断し、必要に応じてイメージ取得失敗を自動修復する、K8sGPTのデプロイと管理を行うKubernetes Operatorです。
GPUノードへのLLM推論、ファインチューニング、RAGサービスのデプロイを自動化するKubernetesオペレーター群。