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에 직접 쓰기 액세스를 부여하지 않고 Kubernetes에 LLM 기반 관찰 가능성과 자가 치유를 제공하여 보안 모범 사례를 준수하면서 일반적인 클러스터 문제의 평균 해결 시간을 줄입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트