통계 및 추천을 통한 GKE 사용량 최적화


Google Kubernetes Engine(GKE)을 사용하면 클러스터 최적화 방법에 대한 처방적 안내를 받을 수 있습니다.

GKE는 클러스터를 모니터링하고 최적화가 가능한 경우 Google Cloud에서 리소스 사용에 대한 통계와 추천을 생성하는 Google Cloud 서비스인 추천자를 통해 안내를 제공합니다. GKE에서 추천자는 두 가지 유형의 정보를 제공합니다.

  • 통계는 GKE에서 어떤 방식으로 최적화할 수 있는 클러스터 사용량을 감지했음을 설명합니다.
  • 추천은 클러스터 사용량을 최적화하는 방법을 설명합니다.

GKE는 이 정보를 Google Cloud 콘솔에 제공하며 Google Cloud CLI 및 Recommender API를 사용하여 확인할 수도 있습니다. GKE는 다음과 같은 주제에 추천자를 제공합니다.

  • 지원 중단: 지원 중단된 Kubernetes 기능 또는 API와 관련된 위험을 줄입니다.
  • 작업 및 연결: 컨트롤 플레인과 노드 연결, IP 주소 사용과 관련된 문제를 해결합니다.
  • 비용 최적화: 비용에 최적화된 구성 및 관행을 구현합니다. 예를 들어 유휴 GKE 클러스터 또는 오버프로비저닝된 GKE 클러스터를 식별합니다.
  • 확장성: 과소 프로비저닝된 GKE 클러스터 확장과 같은 안정성 개선 관행을 구현합니다.
  • 리소스 요청 및 한도: 노드 리소스 압력이 발생할 때 갑작스러운 포드 종료를 방지하고 비용 할당 정확성을 개선하기 위해 리소스 요청 및 한도를 설정합니다.
  • Agones: 클러스터에서 Agones 컨트롤러를 격리합니다.
  • 중단: 유지보수 중에 워크로드의 연속성과 복구성을 보장합니다.
  • 웹훅: 웹훅을 사용할 때 컨트롤 플레인 안정성을 보장합니다.
  • 데이터 보호: 중단을 유발하는 이벤트로부터 워크로드를 보호합니다.
  • 클러스터 사용자 인증 정보: 클러스터 사용자 인증 정보를 순환하여 중단을 방지합니다.
  • 출시 채널: 출시 채널에 클러스터를 등록합니다.
  • 유지보수 기간: GKE 클러스터 유지보수가 발생하는 반복되는 기간을 선택합니다.
  • 지원되는 버전: 클러스터가 GKE 버전 편향 정책도 준수하는 지원되는 버전을 실행하는지 확인합니다. 자세한 내용은 참조 페이지의 지원 종료 시점의 자동 업그레이드GKE 버전 편향 정책 섹션을 참조하세요.
  • 노드 서비스 계정 권한: 노드 서비스 계정에 정상적인 GKE 작업에 필요한 중요한 권한이 있는지 확인합니다.
  • CRD: 잘못 구성된 CRD를 잘못된 CA 번들로 수정하여 안정적인 클러스터 작업을 보장합니다.
  • etcd 사용: 클러스터 불안정성을 방지하기 위해 etcd 데이터베이스에 충분한 스토리지가 있는지 확인합니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화하세요. 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 가져옵니다.

필요한 역할

다음 기본 역할 또는 사전 정의된 역할을 사용하여 Kubernetes 지원 중단 통계 및 추천에 필요한 권한이 있는지 확인합니다.

통계 및 추천 보기

Google Cloud CLI,Google Cloud 콘솔 또는 Recommender API를 사용하여 통계와 추천을 볼 수 있습니다.

콘솔

두 가지 옵션으로 콘솔에서 추천을 볼 수 있습니다. 뷰 상단에 있는 간략한 스코어카드를 사용하여 프로젝트에 있는 모든 클러스터의 상태, 업그레이드, 비용 최적화 추천에 대한 집계 결과를 확인할 수 있습니다.

또는 클러스터별 추천 목록을 볼 수 있습니다.

스코어카드를 사용하여 추천을 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 개별 추천의 영향을 받는 클러스터 수를 보려면 보려는 카테고리(상태, 업그레이드 또는 비용) 아래에 있는 추천 보기를 클릭합니다. 표시된 사이드바 패널의 추천 목록에는 각 추천의 영향을 받는 클러스터 수가 표시됩니다.

  3. 영향을 받은 클러스터의 이름을 포함한 자세한 내용을 보려면 추천 이름을 클릭합니다.

  4. 영향을 받은 각 클러스터에 대한 자세한 내용을 보려면 추천을 다시 클릭합니다.

클러스터별 추천을 보려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 통계 및 추천을 확인하려면 특정 클러스터의 알림 열을 확인합니다.

  3. 자세한 정보를 보려면 통계를 클릭합니다. 표시된 사이드바 패널에서 관련 추천을 포함한 이 통계에 대한 세부정보를 볼 수 있습니다.

gcloud

일반적으로 통계에는 해당하는 추천이 포함되어 있습니다. 통계는 gcloud recommender insights로 가져오고 권장사항은 gcloud recommender recommendations로 가져옵니다.

  1. 특정 영역(영역 클러스터용) 또는 특정 리전(리전 클러스터용)의 클러스터에 대한 통계 목록을 봅니다.

    gcloud recommender insights list \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="insightSubtype:SUBTYPE"
    

    다음을 바꿉니다.

    • PROJECT_ID: 클러스터가 있는 프로젝트의 Google Cloud 프로젝트 ID입니다.
    • LOCATION: 클러스터의 정확한 리전 또는 영역입니다. 영역 클러스터의 경우 정확한 영역을 제공해야 합니다(예: us-central1-c). 리전 클러스터의 경우 정확한 리전을 제공해야 합니다(예: us-central1).
    • FORMAT: 출력 형식을 YAML로 변경합니다. 이 플래그는 선택사항입니다.
    • SUBTYPE: 통계 하위 유형입니다(예: DEPRECATION_K8S_1_23_CERTIFICATE). 이렇게 하면 지정된 하위유형의 통계로 출력이 제한됩니다. 이 플래그는 선택사항입니다.

    또는 이미 통계 ID가 있으면 다음 명령어를 실행하여 통계에 대한 세부정보를 볼 수 있습니다.

    gcloud recommender insights describe INSIGHT \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    INSIGHT를 통계에 대한 name 필드에서 URL 끝에 지정된 통계 ID 값으로 바꿉니다.

    출력에는 GKE가 클러스터에서 감지한 동작에 대한 추가 세부정보가 포함됩니다.

  2. 특정 영역(영역 클러스터용) 또는 특정 리전(리전 클러스터용)의 클러스터에 대한 추천 목록을 확인합니다.

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="recommenderSubtype:SUBTYPE"
    

    SUBTYPE추천자 하위유형으로 바꿉니다(예: DEPRECATION_K8S_1_23_CERTIFICATE). 이렇게 하면 지정된 하위 유형의 권장사항으로 출력이 제한됩니다. 이 플래그는 선택사항입니다.

    또는 권장사항 ID가 이미 있으면 다음 명령어를 실행하여 권장사항을 볼 수 있습니다.

    gcloud recommender recommendations describe RECOMMENDATION_ID \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    RECOMMENDATION_ID를 1단계 명령어 출력에서 가져온 associatedRecommendations.recommendation의 저장된 값으로 바꿉니다.

    출력에서 GKE의 클러스터 사용량을 최적화하기 위해 취해야 할 조치에 대한 안내를 제공합니다.

API

각 통계에는 해당 권장사항이 포함되어 있습니다. 통계는 REST Resource: projects.locations.insightTypes.insights로 가져오고, 권장사항은 REST Resource: projects.locations.recommenders.recommendations로 가져옵니다.

  1. 특정 영역(영역 클러스터용) 또는 특정 리전(리전 클러스터용)의 클러스터에 대한 통계 목록을 봅니다.

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPE
    

    다음을 바꿉니다.

    • PROJECT_ID: 클러스터가 있는 프로젝트의 Google Cloud 프로젝트 ID입니다.
    • LOCATION: 클러스터의 정확한 리전 또는 영역입니다. 영역 클러스터의 경우 정확한 영역을 제공해야 합니다(예: us-central1-c). 리전 클러스터의 경우 정확한 리전을 제공해야 합니다(예: us-central1).
    • SUBTYPE: 통계 하위 유형입니다(예: DEPRECATION_K8S_1_23_CERTIFICATE). 이렇게 하면 지정된 하위유형의 통계로 출력이 제한됩니다. 이 플래그는 선택사항입니다.

    또는 이미 통계 ID가 있으면 다음 요청을 수행하여 통계에 대한 세부정보를 볼 수 있습니다.

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT
    

    INSIGHT를 통계에 대한 name 필드에서 URL 끝에 지정된 통계 ID 값으로 바꿉니다.

    응답 본문에는 GKE가 클러스터에서 감지한 동작에 대한 세부정보가 포함됩니다.

  2. 특정 영역(영역 클러스터용) 또는 특정 리전(리전 클러스터용)의 클러스터에 대한 추천 목록을 확인합니다.

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE
    

    SUBTYPE추천자 하위유형으로 바꿉니다(예: DEPRECATION_K8S_1_23_CERTIFICATE). 이렇게 하면 지정된 하위 유형의 권장사항으로 출력이 제한됩니다. 이 플래그는 선택사항입니다.

    또는 추천 ID가 이미 있으면 다음 요청을 수행하여 추천을 볼 수 있습니다.

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID
    

    RECOMMENDATION_ID를 1단계의 응답 본문에 있는 associatedRecommendations.recommendation의 저장된 값으로 바꿉니다.

    응답 본문에서 GKE의 클러스터 사용량을 최적화하기 위해 취해야 할 조치에 대한 안내를 제공합니다.

BigQuery로 통계 및 권장사항 내보내기

BigQuery를 사용하여 전체 조직의 통계와 추천을 내보내고 분석할 수 있습니다. 자세한 내용은 BigQuery에 추천 내보내기를 참조하세요.

추천 닫기 또는 복원

Google Cloud 콘솔에서 클러스터에 대한 추천을 표시하지 않으려면 닫습니다. 예를 들어 추천을 평가한 후 구현하지 않기로 결정한 경우에 추천을 닫으면 됩니다.

추천을 닫으면 콘솔에서 클러스터를 보는 사용자에게 추천이 더 이상 표시되지 않습니다. 추천을 닫으면 GKE가 동일한 동작을 감지하더라도 추천이 다시 표시되지 않습니다.

추천을 닫으면 콘솔에서 모든 사용자에게 추천이 숨겨질 뿐입니다. Google Cloud CLI 및 Recommender API를 사용하여 추천을 계속 검색할 수 있습니다.

권장사항 닫기

추천을 닫으려면Google Cloud 콘솔에서 통계 및 추천 보기의 안내를 따라 세부정보가 있는 사이드바 패널을 엽니다. 이 패널에서 닫기 버튼을 클릭합니다.

닫은 추천 복원

추천 복원의 안내에 따라 닫은 추천을 복원할 수 있습니다.

다음 단계