
Claude Code & K8sGPT로 EKS 클러스터 장애 조사 해보기!
요약
Claude Code와 K8sGPT의 MCP 서버 기능을 결합하여 EKS 클러스터의 장애를 조사하는 방법을 소개합니다. K8sGPT를 MCP 서버로 등록함으로써 Claude Code가 직접 클러스터 리소스를 분석하고 문제 원인을 파악할 수 있는 환경을 구축합니다.
핵심 포인트
- K8sGPT의 MCP 서버 기능을 활용한 Claude Code 연동
- Claude Code에서 MCP 서버 등록 및 관리 방법
- EKS 클러스터 내 잘못된 Pod 이미지 설정 등 장애 자동 탐지
- MCP를 통한 AI 에이전트와 인프라 도구 간의 상호작용
안녕하세요, 타카사오입니다!
이번에는 Claude Code와 K8sGPT를 사용하여, EKS 클러스터의 장애 조사를 할 수 있는지 시험해 보고 싶습니다!
K8sGPT는 생성형 AI (Generative AI)를 사용하여 Kubernetes 클러스터 내의 리소스 상태를 조사해 주는 도구입니다.
현재, K8sGPT는 CNCF의 Sandbox 프로젝트로서 관리되고 있습니다.
K8sGPT에 대해서는 이전에 블로그를 작성했으므로, 괜찮으시다면 이쪽도 함께 참고해 주세요!
자신의 PC에 K8sGPT의 CLI가 설치되어 있고, k8sgpt analyze 명령어를 실행할 수 있는 상태에서 시작합니다.
~/bin/k8sgpt analyze --explain --backend amazonbedrockconverse
AI Provider: amazonbedrockconverse
0: ConfigMap default/kube-root-ca.crt()
...
이번에 하고 싶은 것은, Claude Code에서 K8sGPT를 실행하여 EKS 클러스터의 장애 조사를 할 수 있게 만드는 것입니다!
이를 위해, 다음과 같이 K8sGPT의 MCP 서버를 사용하는 구성을 시도해 보겠습니다.
Claude Code (MCP 클라이언트)
↓
K8sGPT (MCP 서버)
...
k8sGPT에는 MCP 서버 기능이 있습니다.
실제로 시도해 본 결과, k8sgpt serve --mcp 명령어로 MCP 서버가 기동되었습니다. 편리하네요!
~/bin/k8sgpt serve --mcp --backend amazonbedrockconverse
{"level":"info","ts":1779915072.2478552,"caller":"server/server.go:149","msg":"binding metrics to 8081"}
{"level":"info","ts":1779915072.2494028,"caller":"server/server.go:108","msg":"binding api to 8080"}
다만, k8sgpt serve --mcp는 stdio로 MCP 통신을 하기 때문에, Claude Code가 기동될 때마다 서브 프로세스 (Subprocess)로서 자동으로 실행됩니다. 따라서 사전에 수동으로 k8sgpt serve --mcp를 실행해 둘 필요는 없습니다.
Claude Code에서 k8sGPT를 사용하기 위해서는, k8sGPT의 MCP 서버를 Claude Code에 등록해야 합니다.
claude mcp add 명령어로 MCP 서버를 등록합니다.
# 기본적인 구문
claude mcp add --transport http <name> <url>
# 명령어 실행 예시
...
MCP 서버로 등록되었는지는 claude mcp list 명령어로 확인할 수 있습니다.
정상적으로 등록된 것 같습니다!
claude mcp list
k8sgpt: k8sgpt serve --mcp --backend amazonbedrockconverse - ?Connected
드디어, Claude Code로 EKS 클러스터의 장애 조사를 해봅시다!
이번에는 이미지 지정이 잘못된 Pod를 생성해 보겠습니다.
/Users/hogehoge% kubectl run problem-pod --image hogehoge
pod/problem-pod created
/Users/hogehoge% kubectl get pod
...
Claude Code에 장애 조사를 의뢰하여, 이 Pod가 검출되고 원인 조사를 수행해 주기를 기대합니다.
EKS 클러스터 상에서 문제가 있는 Pod를 찾아내고, 그 원인을 조사해 주세요.
라고 Claude Code에 의뢰했습니다.
제대로 K8sGPT의 MCP 서버를 실행해 주고 있습니다! 빠르게 문제가 있는 Pod를 찾아내 주었습니다!
조사가 완료되었습니다. 문제의 원인이 이미지 지정이 잘못되었다는 것을 제대로 보고해 주었습니다!
문제의 시계열(Time series)이나 대처 방법도 알기 쉽게 적혀 있습니다. 정말 편리하네요!!!!
이번에는 K8sGPT의 MCP 서버를 Claude Code에서 사용할 수 있도록 셋업했습니다.
그리고, 시험 삼아 문제가 있는 Pod의 조사를 Claude Code에 의뢰하여, 제대로 K8sGPT를 사용하여 장애 조사를 수행하는 것을 확인할 수 있었습니다.
Claude가 K8sGPT의 결과를 이해하기 쉬운 일본어로 해설해 주기 때문에, 정말 이해하기 쉽고 편리하네요.
이것은 Kubernetes 트러블슈팅 (Troubleshooting) 작업이 훨씬 수월해지겠다고 생각했습니다!
그럼 다음에 또 만나요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기