기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 에를 사용하여 보안 액세스 제어를 구현합니다. https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html
K8sGPT 인증이 Amazon Bedrock 및 Amazon EKS 상호 작용에 대한 최소 권한 권한이 있는 전용 IAM 역할을 사용하는지 확인합니다. 자세한 내용은 IAM 설명서의 최소 권한 부여 및 보안 모범 사례를 참조하세요.
리소스 태그 지정을 구성하고, 감사 추적에 대해 Amazon CloudWatch 로깅을 활성화하고, 민감한 정보에 대한 데이터 익명화를
구현합니다. https://docs.aws.amazon.com/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html 사용량이 적은 시간에 자동 스캔 일정을 설정하여 운영 영향을 최소화하면서 K8sGPT 구성을 정기적으로 백업합니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
Amazon Bedrock을 K8sGPT의 AI 백엔드 공급자로 설정합니다. | Amazon Bedrock을 K8sGPT용 AI 백엔드 제공
예제 명령은
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
사용 가능한 필터 목록을 봅니다. | 사용 가능한 모든 필터 목록을 보려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스의 포드를 스캔합니다. | 이 명령은 Amazon Bedrock AI 기능을 사용하여 발견한 문제를 분석하고 설명하여 Kubernetes 클러스터 내의 특정 포드 문제를 대상으로 디버깅하는 데 유용합니다. 필터를 사용하여 특정 네임스페이스의 포드를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스에서 배포를 스캔합니다. | 이 명령은 특히 실제 상태가 원하는 상태와 일치하지 않는 경우 배포별 문제를 식별하고 해결하는 데 유용합니다. 필터를 사용하여 특정 네임스페이스에서 배포를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
필터를 사용하여 특정 네임스페이스의 노드를 스캔합니다. | 필터를 사용하여 특정 네임스페이스의 노드를 스캔하려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
자세한 출력을 가져옵니다. | 세부 출력을 가져오려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
문제가 있는 포드를 확인합니다. | 특정 문제가 있는 포드를 확인하려면 다음 AWS CLI 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
| DevOps |
애플리케이션별 인사이트를 얻습니다. | 이 명령은 다음과 같은 경우에 특히 유용합니다.
애플리케이션별 인사이트를 얻으려면 다음 명령을 사용합니다.
다음은이 명령의 예상 출력의 예입니다.
|
관련 리소스
AWS 블로그
AWS 설명서
AWS CLI 명령: create-cluster 및 describe-cluster
Amazon EKS 시작하기(Amazon EKS 설명서)
IAM의 보안 모범 사례(IAM 설명서)
기타 리소스