기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
K8sGPT 및 Amazon Bedrock 통합을 사용하여 AI 기반 Kubernetes 진단 및 문제 해결 구현
Ishwar Chauthaiwale, Muskan . 및 Prafful Gupta, Amazon Web Services
요약
이 패턴은 K8sGPT를 Amazon Bedrock에서 사용할 수 있는 Anthropic Claude v2 모델과 통합하여 AI 기반 Kubernetes 진단 및 문제 해결을 구현하는 방법을 보여줍니다. 이 솔루션은 안전한 접속 호스트 아키텍처를 통해 Kubernetes 클러스터 문제에 대한 자연어 분석 및 수정 단계를 제공합니다. K8sGPT Kubernetes 전문 지식과 Amazon Bedrock 고급 언어 기능을 결합하여 DevOps 팀은 클러스터 문제를 신속하게 식별하고 해결할 수 있습니다. 이러한 기능을 사용하면 평균 해결 시간(MTTR)을 최대 50% 줄일 수 있습니다.
이 클라우드 네이티브 패턴에서는 Kubernetes 관리에 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용합니다. 이 패턴은 적절한 AWS Identity and Access Management (IAM) 역할 및 네트워크 격리를 통해 보안 모범 사례를 구현합니다. 이 솔루션은 Kubernetes 운영을 간소화하고 AI 지원을 통해 문제 해결 기능을 개선하려는 조직에 특히 유용합니다.
사전 조건 및 제한 사항
사전 조건
적절한 권한이 AWS 계정 있는 활성
Amazon EKS 클러스터
Amazon Bedrock에서 Anthropic Claude 2 모델에 대한 액세스
필수 보안 그룹 설정이 있는 접속 호스트
K8sGPT 설치
됨
제한 사항
K8sGPT 분석은 Claude v2 모델의 컨텍스트 창 크기에 따라 제한됩니다.
Amazon Bedrock API 속도 제한은 계정 할당량에 따라 적용됩니다.
일부 AWS 서비스 는 전혀 사용할 수 없습니다 AWS 리전. 리전별 가용성은 리전별AWS 서비스
를 참조하세요. 구체적인 엔드포인트는 서비스 엔드포인트 및 할당량을 참조하고 서비스 링크를 선택합니다.
제품 버전
Amazon EKS 버전 1.31 이상
Amazon Bedrock의 Claude 2 모델
K8sGPT v0.4.2 이상
아키텍처
다음 다이어그램은에서 Amazon Bedrock과 통합된 K8sGPT를 사용하는 AI 기반 Kubernetes 진단 아키텍처를 보여줍니다 AWS 클라우드.

이 아키텍처는 다음 워크플로를 보여줍니다.
개발자는 접속 호스트에 대한 보안 연결을 통해 환경에 액세스합니다. 이 Amazon EC2 인스턴스는 보안 진입점 역할을 하며 K8sGPT 명령줄 인터페이스(CLI) 설치 및 필수 구성을 포함합니다.
특정 IAM 역할로 구성된 접속 호스트는 Amazon EKS 클러스터와 Amazon Bedrock 엔드포인트 모두에 대한 보안 연결을 설정합니다. K8sGPT는 Kubernetes 클러스터 분석을 수행하기 위해 접속 호스트에 설치 및 구성됩니다.
Amazon EKS는 Kubernetes 컨트롤 플레인 및 작업자 노드를 관리하여 K8sGPT 분석을 위한 대상 환경을 제공합니다. 이 서비스는 Virtual Private Cloud(VPC) 내의 여러 가용 영역에서 실행되므로 고가용성과 복원력을 제공하는 데 도움이 됩니다. Amazon EKS는 Kubernetes API를 통해 운영 데이터를 제공하므로 포괄적인 클러스터 분석이 가능합니다.
K8sGPT는 자연어 처리를 위한 Claude v2 파운데이션 모델(FM)을 제공하는 Amazon Bedrock으로 분석 데이터를 전송합니다. 이 서비스는 K8sGPT 분석을 처리하여 사람이 읽을 수 있는 설명을 생성하고 식별된 문제를 기반으로 자세한 문제 해결 제안을 제공합니다. Amazon Bedrock은 고가용성과 확장성을 갖춘 서버리스 AI 서비스로 운영됩니다.
참고
이 워크플로 전체에서 IAM은 역할 및 정책을 통해 구성 요소 간의 액세스를 제어하여 접속 호스트, Amazon EKS 및 Amazon Bedrock 상호 작용에 대한 인증을 관리합니다. IAM은 최소 권한 원칙을 구현하고 아키텍처 전체에서 안전한 서비스 간 통신을 지원합니다.
자동화 및 규모 조정
K8sGPT 작업은 다양한 AWS 서비스 및 도구를 통해 여러 Amazon EKS 클러스터에서 자동화하고 확장할 수 있습니다. 이 솔루션은 예약된 분석을 AWS CodeBuild 위해 Jenkins
도구
서비스
AWS Command Line Interface (AWS CLI)는 명령줄 셸의 명령을 AWS 서비스 통해와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
Amazon Elastic Kubernetes Service(Amazon EKS)를 사용하면 자체 Kubernetes 컨트롤 플레인 또는 노드를 설치하거나 유지 관리할 필요 AWS 없이에서 Kubernetes를 실행할 수 있습니다.
AWS Identity and Access Management (IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.
기타 도구
K8sGPT
는 Kubernetes 관리를 변환하는 오픈 소스 AI 기반 도구입니다. 가상 사이트 신뢰성 엔지니어링(SRE) 전문가 역할을 하여 Kubernetes 클러스터 문제를 자동으로 스캔, 진단 및 해결합니다. 관리자는 자연어를 사용하여 K8sGPT와 상호 작용하고 클러스터 상태, 포드 충돌 및 서비스 장애에 대한 명확하고 실행 가능한 인사이트를 얻을 수 있습니다. 도구의 내장 분석기는 잘못 구성된 구성 요소부터 리소스 제약 조건에 이르기까지 다양한 문제를 감지하고 easy-to-understand 설명과 솔루션을 제공합니다.
모범 사례
접속 호스트 액세스에를 사용하여 보안 액세스 제어를 구현 AWS Systems Manager Session Manager 합니다.
K8sGPT 인증이 Amazon Bedrock 및 Amazon EKS 상호 작용에 대한 최소 권한 권한이 있는 전용 IAM 역할을 사용하는지 확인합니다. 자세한 내용은 IAM 설명서의 최소 권한 부여 및 보안 모범 사례를 참조하세요.
리소스 태깅을 구성하고, 감사 추적에 대해 Amazon CloudWatch 로깅을 활성화하고, 민감한 정보에 대한 데이터 익명화
를 구현합니다. 사용량이 적은 시간에 자동 스캔 일정을 설정하여 운영 영향을 최소화하면서 K8sGPT 구성을 정기적으로 백업합니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
Amazon Bedrock을 K8sGPT의 AI 백엔드 공급자로 설정합니다. | Amazon Bedrock을 K8sGPT용 AI 백엔드 제공
예시 명령은 AWS 리전으로
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
사용 가능한 필터 목록을 봅니다. | 사용 가능한 모든 필터 목록을 보려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스에서 포드를 스캔합니다. | 이 명령은 Amazon Bedrock AI 기능을 사용하여 발견한 문제를 분석하고 설명함으로써 Kubernetes 클러스터 내의 특정 포드 문제를 대상으로 디버깅하는 데 유용합니다. 필터를 사용하여 특정 네임스페이스의 포드를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스에서 배포를 스캔합니다. | 이 명령은 특히 실제 상태가 원하는 상태와 일치하지 않는 경우 배포별 문제를 식별하고 해결하는 데 유용합니다. 필터를 사용하여 특정 네임스페이스에서 배포를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스의 노드를 스캔합니다. | 필터를 사용하여 특정 네임스페이스의 노드를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
자세한 출력을 가져옵니다. | 세부 출력을 가져오려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
문제가 있는 포드를 확인합니다. | 특정 문제가 있는 포드를 확인하려면 다음 AWS CLI 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
| DevOps |
애플리케이션별 인사이트를 얻습니다. | 이 명령은 다음과 같은 경우에 특히 유용합니다.
애플리케이션별 인사이트를 얻으려면 다음 명령을 사용합니다.
다음은 이 명령의 예상 출력의 예입니다.
|
관련 리소스
AWS Blog
AWS 설명서
AWS CLI 명령: create-cluster 및 describe-cluster
Amazon EKS 시작하기(Amazon EKS 설명서)
IAM의 보안 모범 사례(IAM 설명서)
기타 리소스