Gemini 지원을 통한 GKE 서비스 미세 조정


이 페이지에서는 Google Cloud용 AI 기반 공동작업자인 Gemini Cloud Assist를 사용하여 성능과 안정성을 최적화하도록 Google Kubernetes Engine (GKE) 배포를 미세 조정하는 방법을 설명합니다. Gemini 지원에는 추천, 코드 생성, 문제 해결이 포함될 수 있습니다.

Gemini Cloud Assist는 다양한 이점 중에서도 다음을 달성하는 데 도움이 됩니다.

  • 비용 절감: 유휴 리소스를 식별하고, 배포의 크기를 적절하게 조정하고, 자동 확장 구성을 최적화하여 불필요한 지출을 최소화합니다.
  • 신뢰성 및 안정성 개선: 버전 비대칭 또는 누락된 Pod 중단 예산과 같은 잠재적인 문제를 사전에 식별하여 다운타임을 방지하고 애플리케이션 복원력을 보장합니다.
  • AI/ML 워크로드 최적화: GKE에서 AI/ML 워크로드를 배포, 관리, 최적화하는 데 도움을 받습니다.
  • 문제 해결 간소화: 로그를 신속하게 분석하고 오류의 근본 원인을 파악하여 시간과 노력을 절약합니다.

이 페이지는 기존 GKE 사용자, 운영자, 클라우드 리소스를 프로비저닝 및 구성하고 앱과 서비스를 배포하는 개발자를 대상으로 합니다. Google Cloud 콘텐츠에서 참조하는 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 일반 GKE Enterprise 사용자 역할 및 태스크를 참고하세요.

Google Cloud 를 위한 Gemini에서 사용자 데이터를 사용하는 방법과 시점을 알아보세요.

비용

  • Gemini: 프리뷰 버전에서는 Gemini Cloud Assist 사용에 대한 비용이 청구되지 않습니다.

  • GKE: GKE에서 Gemini Cloud Assist를 사용하는 데 추가 비용이 들지 않습니다.

시작하기 전에

GKE에서 Gemini를 사용하려면 다음 기본 요건을 완료하세요.

이 가이드에서는 GKE 클러스터가 있고 일부 배포가 실행 중이라고 가정합니다.

Gemini Cloud Assist에 요청

Google Cloud 콘솔에서 Gemini Cloud Assist를 호출할 수 있습니다. Gemini Cloud Assist를 사용하면 자연어 프롬프트를 사용하여 작업을 빠르고 효율적으로 처리할 수 있습니다.

GKE 페이지에서 Cloud Assist를 열려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Gemini Cloud Assist를 사용 설정한Google Cloud 프로젝트를 선택합니다.

    프로젝트 선택기로 이동

  2. Google Cloud 콘솔에서 Kubernetes Engine 콘솔의 특정 페이지로 이동합니다.

    예를 들어 Kubernetes Engine 개요 페이지로 이동합니다.

    Kubernetes Engine 개요로 이동

    특정 리소스에 관해 궁금한 점이 있으면 먼저 관련 페이지로 이동하세요. 예를 들어 클러스터 페이지에서 Gemini Cloud Assist는 클러스터 관리, 클러스터 상태 모니터링, 클러스터 문제 해결에 관한 조언을 제공할 수 있습니다. 특정 Google Cloud 콘솔 페이지에서 Gemini를 사용하면 질문에 대한 컨텍스트를 제공하는 데 도움이 됩니다. 그러면 Gemini는 이 컨텍스트와 현재 진행 중인 전체 프로젝트를 사용하여 맞춤형의 정확한 지원을 제공할 수 있습니다.

  3. Gemini Cloud Assist 창을 열려면 툴바에서 spark Gemini AI 채팅 열기 또는 닫기를 클릭합니다.

  4. 메시지가 표시되고 약관에 동의하는 경우 동의를 클릭합니다.

  5. Gemini 창에 프롬프트를 입력합니다. 다음 섹션에서 Gemini를 사용하여 문제를 해결하는 워크플로 예시를 참고하세요.

Google Cloud 콘솔에서 Gemini를 사용하는 방법에 대한 자세한 내용은 Gemini Cloud Assist 사용을 참고하세요.

Gemini를 사용하여 문제를 해결하는 예시

Gemini는 GKE 서비스의 문제를 해결하는 데 도움이 됩니다.

  1. Google Cloud 콘솔에서 워크로드 페이지로 이동합니다.

    워크로드로 이동

  2. 문제 해결할 워크로드를 선택합니다.

  3. 로그 탭을 클릭합니다.

  4. 툴바에서 spark Gemini AI 채팅 열기 또는 닫기를 클릭합니다.

  5. 발생한 문제를 설명하는 프롬프트를 입력합니다. 예를 들어 '내 accounts-db 데이터베이스 애플리케이션의 지연 시간이 깁니다'와 같습니다. Gemini는 데이터베이스 유형, 지연 시간으로 인해 영향을 받는 작업 및 사용자 등 영향 범위와 같은 추가 컨텍스트를 요청할 수 있습니다.

  6. 그러면 Gemini가 로그를 직접 분석하는 방법을 안내하고 문제 해결 제안을 제공할 수 있습니다.

  7. 제안사항을 검토하고 따라 문제를 해결하세요.

Gemini Cloud Assist 프롬프트 예시

이 섹션에서는 몇 가지 실제 사용 사례를 보여주고 Gemini에 질문해 볼 수 있는 프롬프트를 제안합니다. 실제로 수신하는 응답은 일반적일 수도 있고,Google Cloud 환경의 고유한 상태에 따라 맞춤설정되고 실행 가능할 수도 있습니다. 대답에는 Cloud 리소스를 검토하고 관리하기 위한 Google Cloud 콘솔 링크와 자세한 정보를 위한 관련 문서 링크가 포함될 수 있습니다.

비용 절감

다음 표에서는 비용을 절감하는 데 사용할 수 있는 프롬프트를 설명합니다.

프롬프트 응답 유형
'성능 저하 없이 GKE 클러스터의 비용을 절감하려면 어떻게 해야 하나요?'
  • 유휴 클러스터와 같이 사용률이 낮은 리소스를 식별하고 삭제를 제안하는 권장사항
  • 자동 확장 메커니즘을 사용 설정하거나 조정하는 방법에 관한 조언
  • 로깅 보관 정책과 같은 구성 검토를 통해 절약할 수 있는 금액을 강조하는 제안
'my-docker-cluster GKE 클러스터를 업그레이드하려고 합니다. 추천해 주실 만한 곳이 있나요?' 특정 Kubernetes 구성 및 권장사항을 구현하기 위한 제안사항(예:
)
  • 예측 가능한 리소스 할당을 보장하기 위해 포드의 리소스 요청 및 한도를 정의합니다.
  • 전용 네임스페이스를 사용하여 워크로드 격리
  • 노드 유지관리 또는 업그레이드와 같은 자발적 중단 중에 최소한의 포드 복제본이 사용 가능하도록 포드 중단 예산을 구현합니다.
  • 계획된 중단을 관리하고 예기치 않은 다운타임을 최소화하기 위해 유지보수 기간을 예약합니다.
  • 출시 채널에 클러스터를 등록하여 GKE 버전 업그레이드를 관리합니다.
'몇 주 후에 my-docker-cluster 클러스터에 트래픽이 급증할 예정입니다. 추천해 주실 만한 곳이 있나요?'
  • 수평형 포드 자동 확장 처리를 사용하여 애플리케이션 포드 수를 확장하는 전략
  • 수직형 포드 자동 확장 처리기를 사용하여 포드당 리소스 (CPU, 메모리)를 늘리는 전략입니다.
'HPA가 사용 설정되지 않은 GKE 워크로드는 무엇인가요?' 수평형 포드 자동 확장 처리가 사용 설정되지 않은 워크로드 목록입니다.

신뢰성 및 안정성 개선

다음 표에서는 GKE 워크로드의 안정성과 안정성을 개선하는 데 사용할 수 있는 프롬프트를 설명합니다.

프롬프트 응답 유형
'GKE 클러스터의 안정성을 높이고 다운타임을 방지하려면 어떻게 해야 하나요?'
  • 클러스터의 버전 차이를 식별하고 Kubernetes 버전 호환성을 유지하기 위한 작업을 제안합니다.
  • 리소스 격리를 구현하기 위한 권장사항을 제공합니다.
  • 계획된 유지보수 또는 업그레이드 중에 실행 중인 최소 포드 복제본 수를 유지하도록 포드 중단 예산을 구성하는 권장사항을 제공합니다.
'my-clusterDefault 네임스페이스에서 워크로드를 이동하는 방법을 보여 줘.' 다음 단계를 따르세요.
  • 타겟 클러스터를 준비합니다.
  • 앱과 데이터를 대상 클러스터로 마이그레이션합니다.
  • 다운타임을 최소화하여 서비스를 전환합니다.
'실행 중인 포드의 고가용성을 보장하려면 어떻게 해야 하나요?'
  • podAntiAffinity 및 중복성을 위한 여러 복제본을 사용하는 배포를 지정하는 자세한 절차
  • 리소스 요청 및 한도를 설정하고 수평형 포드 자동 확장을 사용하는 방법에 관한 제안사항

AI/ML 워크로드에 맞게 GKE 최적화

다음 표에서는 GKE에서 AI/ML 워크로드를 배포, 관리, 최적화하는 데 도움을 받을 수 있는 프롬프트를 설명합니다.

프롬프트 응답 유형
'GPU를 사용하여 GKE에서 대규모 분산 TensorFlow 학습을 실행할 때 권장되는 노드 풀 구성은 무엇인가요?' GKE에서 분산 TensorFlow ML 학습을 최적화하기 위한 권장사항에는 다음이 포함될 수 있습니다.
  • 적합한 GPU 및 머신 유형을 선택합니다.
  • 자동 확장을 사용 설정합니다.
  • 네트워크 연결을 최적화하는 중입니다.
  • 분산 학습 프레임워크 활용
  • 비용 절감 조치 구현
'GKE에서 학습을 위해 GPU를 어떻게 사용하나요?' GPU를 사용하도록 클러스터와 워크로드를 구성하는 단계와 고려사항에 대한 개요
'GKE에 모델 서빙 컨테이너를 배포하는 예를 보여 줘.' GKE에 모델 서빙 컨테이너를 배포하는 샘플 코드가 포함된 예시입니다. 이 예시에는 권장사항이 포함되어 있으며 확장성을 보장하는 데 도움이 됩니다.
'추론을 위한 부하 분산 설정의 효과를 평가하려면 어떤 측정항목을 추적해야 하나요?' 트래픽 분포, 지연 시간, 오류율, CPU, 메모리 사용률과 같은 측정항목 목록을 통해 부하 분산 설정의 성능과 상태에 대한 유용한 정보를 얻을 수 있습니다.

문제 해결 간소화

다음 표에는 로그를 빠르게 분석하고 오류의 근본 원인을 파악하여 시간과 노력을 절약하는 데 도움이 되는 프롬프트가 설명되어 있습니다.

프롬프트 응답 유형
'이 오류는 무엇에 관한 건가요?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)'
kubelet이 정의된 제한 시간 내에 컨테이너의 준비 상태 프로브를 실행하지 못했다고 설명하고, 잠재적인 원인과 문제 해결 작업을 제안합니다.
'내 배포가 nettools 오류로 인해 비정상 종료되는 이유는 무엇인가요?'ping: socket: Operation not permitted ping 명령어에는 CAP_NET_RAW 보안 컨텍스트 기능이 필요하며 기본적으로 Kubernetes의 컨테이너는 보안상의 이유로 제한된 기능 집합으로 실행된다고 설명합니다.
'오류 Cannot schedule pods: No preemption victims found for incoming pod.로 인해 포드를 예약할 수 없다는 것은 무엇을 의미하나요?' Kubernetes에서 포드 스케줄링 및 선점이 작동하는 방식을 설명합니다. 선점 피해자가 발견되지 않는 이유를 해결하는 단계를 나열합니다.

다음 단계