오픈소스 인사이트
home
오픈소스 기술 동향
home
🚀

Kubernetes 장애 진단, K8sGPT로 더 똑똑하게!

6 more properties

“Kubernetes 장애, AI가 대신 진단해준다면?”

Kubernetes 운영 중 갑작스러운 장애, 어디서부터 원인을 찾아야 할지 막막했던 경험 있으신가요?
이제 복잡한 로그 분석과 원인 추적, AI 오픈소스 도구 K8sGPT로 한 번에 해결할 수 있습니다!

K8sGPT란?

K8sGPT는 AI와 자연어 처리(NLP) 기술을 활용해 Kubernetes 클러스터에서 발생하는 다양한 문제를 자동으로 분석하고, 사람이 이해할 수 있는 설명과 해결 방안을 제시해주는 오픈소스 도구입니다.
출시 시기: 2023년
라이선스: Apache 2.0 (복제, 수정, 배포 자유)
AI 연동: OpenAI, Google, 자체 AI 등 다양한 LLM 지원 (일부 AI는 사용 시 비용 발생 가능)
공식 저장소: K8sGPT GitHub
Kubernetes 운영의 복잡함을 줄이고, 장애 대응을 더 빠르고 효율적으로 만들어주는 최신 오픈소스 프로젝트입니다.

K8sGPT 제공 기능

"k8sgpt analyze" 명령어를 통한 Kubernetes Resource 문제 원인 분석 및 LLM API 호출, 현 상황에 관련 내용 제공 합니다.
문제 원인 및 해결 방안을 사람이 이해 할 수 있는 언어 "영어"로 설명을 지원합니다.
공식 Github 에서는 다양한 언어 지원 여부에 대한 설명은 현재 없습니다.
명령어 옵션 중 "--language"을 활용하여 AI가 번역한 내용 제공은 가능 합니다.
기본적으로 분석은 Kubernetes에서 제공되는 서비스들은 대부분(Pod, Deployment, cronJob 등) 지원되며, 로그와 이벤트를 수집, 문제에 대한 식별하는 기능을 제공합니다.
Optional 부분은 사용자가 필요에 따라 활성화하여 해당 기능 관련 내용을 분석 합니다. (HPA와 같은 기능을 위해서 추가적으로 관련 서비스 설치가 진행 되어야 합니다.)
LLM AI는 K8sGPT에서 지원 가능한 목록으로 Default AI는 openai로 되어 있습니다. 환경에 맞게 변경은 가능합니다.
Analyze
Optional
지원되는 LLM AI
podAnalyzer pvcAnalyzer rsAnalyzer serviceAnalyzer eventAnalyzer ingressAnalyzer statefulSetAnalyzer deploymentAnalyzer cronJobAnalyzer nodeAnalyzer mutatingWebhookAnalyzer validatingWebhookAnalyzer
hpaAnalyzer pdbAnalyzer networkPolicyAnalyzer gatewayClass gateway httproute logAnalyzer
Default: > openai Active: Unused: > openai > localai > ollama > azureopenai > cohere > amazonbedrock > amazonsagemaker > google > huggingface > noopai > googlevertexai > ibmwatsonxai

K8sGPT Operator란?

K8sGPT Operator는 Kubernetes 내의 모든 서비스들에 대한 문제를 감지 할 수 있습니다.
이를 통하여 별도 모니터링 도구와 연동하여 시각화 가능한 부분을 고려 해볼 수 있습니다.
기능
설명
K8sGPT Operator
Kubernetes 환경에서 AI 를 활용하여 자동 진단 제공 - AI 를 통한 문제에 대한 해결 방안 제공 - Kubernetes 에 대한 모니터링 - Prometheus, Grafana 와 연동 시 정보 제공.
K8sgpt Deployment
K8sGPT Operator 에서 K8S Cluster 상태를 분석 / 장애 감지를 위한 Application
Prometheus Scrape
K8sGPT 에서 수집한 Metrics 데이터를 Prometheus 에 전달 기능
K8sGPT CRD
사용자가 특정 조건, 규칙을 설정하면, K8sGPT 에서 해당 조건에 맞게 기능 동작
API Server
K8sGPT Operator 와 외부 통신 기능 제공
Results
- K8sGPT Operator 가 분석한 결과 저장 및 관리 - 데이터는 yaml 또는 json 형식으로 관리 및 저장
Operator를 활용하면 Kubernetes 운영 환경에서 장애 진단과 모니터링, 결과 관리까지 한 번에 자동화할 수 있습니다.

참고 자료

K8sGPT 공식 GitHub