k8sgpt-ai/k8sgpt-operator

Automatic SRE Superpowers within your Kubernetes cluster

k8sgpt‑operator – Kubernetes 向け AI 駆動の分析と自動修復

概要 – クラスター内で K8sGPT エンジンを実行する Kubernetes Operator。クラスターを監視し、リソースデータを設定可能な LLM(OpenAI、Azure OpenAI、Bedrock、LocalAI など)に送信し、診断提案を受け取り、安全で単一ステップの修正(例:失敗したコンテナイメージの置き換え)を自動的に適用できます。すべての LLM 呼び出しは読み取り専用です。operator 自体が JSON‑patch を構築し、ポリシーゲートとドライラン後に適用します。

主な機能

  • 自動修復(アルファ、オプトイン) – ImagePullBackOff などの失敗を検出し、LLM に修正を求め、セマンティックパッチを生成し、ドライランし、修正されたワークロードをロールアウトします。LLM には書き込み権限は一切ありません。
  • マルチクラスター監視 – kubeconfig シークレットを提供することで、中央の「シード」クラスターからリモートクラスターを管理できます(Cluster‑API フリートに便利)。
  • プラグ可能な AI バックエンド – OpenAI、Azure OpenAI、Amazon Bedrock、LocalAI、および spec.ai.backend フィールドを介した互換性のあるプロバイダー。
  • 分散キャッシュ – オプションの Interplex RPC キャッシュ、Azure Blob、または S3 キャッシュにより、繰り返しの LLM 呼び出しを回避。
  • 設定可能な分析 – 間隔、リソース制限、イメージプルポリシー、カスタムコンテナイメージ、および spec.filters で選択可能な豊富なアナライザー(コアおよびオプション)。
  • 結果オブジェクト – 発見結果は Result CRD として出力され、元の K8sGPT インスタンス、名前空間、バックエンドでラベル付けされ、フィルタリングが容易です。
  • 統合(シンク) – 結果を Slack、Mattermost、CloudEvents などに送信。

インストール(Helm)

helm repo add k8sgpt https://charts.k8sgpt.ai/
helm repo update
helm install release k8sgpt/k8sgpt-operator \
  -n k8sgpt-operator-system --create-namespace

はじめに – LLM 資格情報を含むシークレットを作成し、K8sGPT カスタムリソースを適用します。OpenAI の例:

apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
  name: k8sgpt-sample
  namespace: k8sgpt-operator-system
spec:
  ai:
    enabled: true
    model: gpt-4o-mini
    backend: openai
    secret:
      name: k8sgpt-sample-secret
      key: openai-api-key
  repository: ghcr.io/k8sgpt-ai/k8sgpt
  version: v0.4.32

Operator は K8sGPT デプロイメントを起動し、スキャンを開始し、kubectl get results で表示できる Result オブジェクトを作成します。

自動修復の有効化 – 修復 CR(valid_k8sgpt_remediation_sample.yaml)を追加し、spec.autoRemediation.enabled: true を設定します。その後、operator は検出されたイメージプル失敗に対して単一イメージ修復を試みます。上記の安全ゲートに従います。

重要性 – LLM に直接書き込みアクセスを許可せずに、LLM 駆動の可観測性と自己修復を Kubernetes にもたらし、セキュリティのベストプラクティスに沿いながら、一般的なクラスター問題の平均解決時間を短縮します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト