Autopilot에서 리소스 요청


이 페이지에서는 Google Kubernetes Engine(GKE) Autopilot 워크로드에 지정할 수 있는 최대, 최소, 기본 리소스 요청과 이러한 요청을 자동으로 수정하여 워크로드 안정성을 유지하는 방법을 설명합니다.

Autopilot에서 리소스 요청 개요

Autopilot은 워크로드 구성에 지정된 리소스 요청을 사용하여 워크로드를 실행하는 노드를 구성합니다. Autopilot은 워크로드에서 사용하는 컴퓨팅 클래스나 하드웨어 구성을 기준으로 최소 및 최대 리소스 요청을 적용합니다. 일부 컨테이너에 요청을 지정하지 않으면 Autopilot에서 해당 컨테이너가 올바르게 실행될 수 있도록 기본값을 할당합니다.

Autopilot 클러스터에 워크로드를 배포할 때 GKE는 선택한 컴퓨팅 클래스 또는 하드웨어 구성(예: GPU)에 허용된 최솟값과 최댓값에 대해 워크로드 구성 유효성을 검사합니다. 요청이 최솟값보다 적으면 Autopilot에서 워크로드 구성을 자동으로 수정하여 요청을 허용 범위 내로 가져옵니다. 요청이 최댓값보다 크면 Autopilot에서 워크로드를 거부하고 오류 메시지를 표시합니다.

다음 목록에는 리소스 요청 카테고리가 요약되어 있습니다.

  • 기본 리소스 요청: 워크로드에 자체 요청을 지정하지 않으면 Autopilot에서 이를추가합니다.
  • 최소 및 최대 리소스 요청: Autopilot에서 지정된 요청이 이러한 한도 내에 있는지 검증합니다. 요청이 한도를 벗어나면 Autopilot에서 워크로드 요청을 수정합니다.
  • 워크로드 분리 및 연장 기간 요청: Autopilot에서는 서로 구분되는 워크로드 또는 GKE에서 시작된 제거로부터 확장된 보호를 받는 포드에 서로 다른 기본값과 최솟값이 사용됩니다.
  • DaemonSet의 리소스 요청: Autopilot에서는 DaemonSet의 컨테이너에 대한 기본값, 최솟값, 최댓값이 다릅니다.

리소스 요청 방법

Autopilot의 포드 사양에서 리소스를 요청합니다. 요청 가능한 지원되는 최소 및 최대 리소스 수는 포드가 실행되는 노드의 하드웨어 구성에 따라 변경됩니다. 특정 하드웨어 구성을 요청하는 방법은 다음 페이지를 참조하세요.

기본 리소스 요청

포드의 일부 컨테이너에 리소스 요청을 지정하지 않으면 Autopilot에서 기본값을 적용합니다. 이러한 기본값은 많은 소규모 워크로드에 적합합니다.

또한 Autopilot은 선택한 컴퓨팅 클래스이나 하드웨어 구성에 관계없이 다음과 같은 기본 리소스 요청을 적용합니다.

  • DaemonSet의 컨테이너

    • CPU: 50mCPU
    • 메모리: 100MiB
    • 임시 스토리지: 100MiB
  • 다른 모든 컨테이너

    • 임시 스토리지: 1GiB

Autopilot 클러스터 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

컴퓨팅 클래스에 대한 기본 요청

Autopilot은 컴퓨팅 클래스에서 실행되는 포드의 포드 사양에 정의되지 않은 리소스에 다음 기본값을 적용합니다. 요청 중 하나만 설정하고 다른 요청은 비워 두면 GKE가 최소 및 최대 요청 섹션에 정의된 CPU:메모리 비율을 사용하여 누락된 요청을 비율을 준수하는 값으로 설정합니다.

컴퓨팅 클래스 리소스 기본 요청
범용(기본값) CPU vCPU 0.5개
메모리 2GiB
Accelerator 가속기의 기본 리소스 섹션을 참조하세요.
균형 CPU vCPU 0.5개
메모리 2GiB
성능 CPU
  • C3 머신 계열: vCPU 2개
  • 로컬 SSD를 사용하는 C3 머신 계열: vCPU 2개
  • C3D 머신 계열: vCPU 2개
  • 로컬 SSD를 사용하는 C3D 머신 계열: vCPU 4개
  • H3 머신 계열: vCPU 80개
  • C2 머신 계열: vCPU 2개
  • C2D 머신 계열: vCPU 2개
  • T2A 머신 계열: vCPU 2개
  • T2D 머신 계열: vCPU 2개
메모리
  • C3 머신 계열: 8GiB
  • 로컬 SSD를 사용하는 C3 머신 계열: 8GiB
  • C3D 머신 계열: 8GiB
  • 로컬 SSD를 사용하는 C3D 머신 계열: 16GiB
  • H3 머신 계열: 320GiB
  • C2 머신 계열: 8GiB
  • C2D 머신 계열: 8GiB
  • T2A 머신 계열: 8GiB
  • T2D 머신 계열: 8GiB
임시 스토리지
  • C3 머신 계열: 1GiB
  • 로컬 SSD를 사용하는 C3 머신 계열: 1GiB
  • C3D 머신 계열: 1GiB
  • 로컬 SSD를 사용하는 C3D 머신 계열: 1GiB
  • H3 머신 계열: 1GiB
  • C2 머신 계열: 1GiB
  • C2D 머신 계열: 1GiB
  • T2A 머신 계열: 1GiB
  • T2D 머신 계열: 1GiB
수평 확장 CPU vCPU 0.5개
메모리 2GiB

가속기에 대한 기본 요청

다음 표에서는 포드 사양의 requests 필드에 값을 지정하지 않은 포드에 GKE가 할당하는 기본값을 설명합니다. 이 표는 Autopilot 클러스터에서 가속기를 실행하는 권장 방법인 Accelerator 컴퓨팅 클래스를 사용하는 포드에 적용됩니다.

Accelerator 리소스 총 기본 요청 수
NVIDIA H100(80GB) GPU
nvidia-h100-80gb
CPU
  • GPU 8개: vCPU 200개
메모리
  • GPU 8개: 1400GiB
임시 스토리지
  • GPU 8개: 1GiB
NVIDIA A100(40GB) GPU
nvidia-tesla-a100
CPU
  • GPU 1개: vCPU 9개
  • GPU 2개: vCPU 20개
  • GPU 4개: vCPU 44개
  • GPU 8개: vCPU 92개
  • GPU 16개: vCPU 92개
메모리
  • GPU 1개: 60GiB
  • GPU 2개: 134GiB
  • GPU 4개: 296GiB
  • GPU 8개: 618GiB
  • GPU 16개: 1,250GiB
NVIDIA A100(80GB) GPU
nvidia-a100-80gb
CPU
  • GPU 1개: vCPU 9개
  • GPU 2개: vCPU 20개
  • GPU 4개: vCPU 44개
  • GPU 8개: vCPU 92개
메모리
  • GPU 1개: 134GiB
  • GPU 2개: 296GiB
  • GPU 4개: 618GiB
  • GPU 8개: 1,250GiB
임시 스토리지
  • GPU 1개: 1GiB
  • GPU 2개: 1GiB
  • GPU 4개: 1GiB
  • GPU 8개: 1GiB
NVIDIA L4 GPU
nvidia-l4
CPU
  • GPU 1개: vCPU 2개
  • GPU 2개: vCPU 21개
  • GPU 4개: vCPU 45개
  • GPU 8개: vCPU 93개
메모리
  • GPU 1개: 7GiB
  • GPU 2개: 78GiB
  • GPU 4개: 170GiB
  • GPU 8개: 355GiB
NVIDIA T4 GPU
nvidia-tesla-t4
CPU
  • GPU 1개: vCPU 0.5개
  • GPU 4개: vCPU 0.5개
메모리
  • GPU 1개: 2GiB
  • GPU 4개: 2GiB
TPU v5e
tpu-v5-lite-device(단일 호스트)
CPU 모든 토폴로지: mCPU 1개
메모리 모든 토폴로지: 1MiB
TPU v5e
tpu-v5-lite-podslice(멀티 호스트)
CPU 모든 토폴로지: mCPU 1개
메모리 모든 토폴로지: 1MiB
TPU v5p
tpu-v5p-slice
CPU 모든 토폴로지: mCPU 1개
메모리 모든 토폴로지: 1MiB
TPU v4
tpu-v4-podslice
CPU 모든 토폴로지: mCPU 1개
메모리 모든 토폴로지: 1MiB

가속기 컴퓨팅 클래스 없이 지원되는 GPU

가속기 컴퓨팅 클래스를 사용하지 않으면 다음 GPU만 지원됩니다. 이러한 GPU의 기본 리소스 요청은 가속기 컴퓨팅 클래스의 요청과 동일합니다.

  • NVIDIA A100(40GB)
  • NVIDIA A100(80GB)
  • NVIDIA L4
  • NVIDIA Tesla T4

최소 및 최대 리소스 요청

배포 구성에서 요청한 총 리소스는 Autopilot에서 허용하는 지원되는 최솟값과 최댓값 내에 있어야 합니다. 다음 조건이 적용됩니다.

  • 임시 스토리지 요청:

    • 노드에 로컬 SSD가 연결되어 있지 않으면 임시 스토리지가 VM 부팅 디스크를 사용합니다.

      A100(80GB) GPU, H100(80GB) GPU, Z3 머신 시리즈와 같이 로컬 SSD가 포함된 컴퓨팅 하드웨어는 로컬 SSD의 크기에서 시스템 오버헤드를 뺀 값과 동일한 최대 요청을 지원합니다. 이 시스템 오버헤드에 관한 자세한 내용은 로컬 SSD를 기반으로 하는 임시 스토리지를 참조하세요.

    • GKE 버전 1.29.3-gke.1038000 이상에서는 하드웨어에 로컬 SSD가 포함되어 있지 않은 한 성능 클래스 포드와 하드웨어 가속기 포드가 최대 56TiB의 임시 스토리지 요청을 지원합니다.

      GKE 버전에 관계없이 다른 모든 Autopilot 포드에서는 달리 명시하지 않는 한 포드의 모든 컨테이너에 대한 총 임시 스토리지 요청이 10MiB~10GiB 사이여야 합니다.

    • 더 큰 볼륨의 경우 임시 스토리지와 동일한 기능 및 성능을 제공하지만 모든 GKE 스토리지 옵션과 사용할 수 있어 훨씬 더 유연하게 사용할 수 있는 일반 임시 볼륨을 사용하세요. 예를 들어 pd-balanced를 사용하는 일반 임시 볼륨의 최대 크기는 64TiB입니다.

  • DaemonSet 포드의 경우 최소 리소스 요청은 다음과 같습니다.

    • 버스팅 지원 클러스터: 포드당 mCPU 1개, 포드당 2MiB 메모리, 포드에 있는 컨테이너당 10MiB 임시 스토리지
    • 버스팅 미지원 클러스터: 포드당 10mCPU, 포드당 10MiB 메모리, 포드에 있는 컨테이너당 10MiB 임시 스토리지

    클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

  • 클러스터에서 버스팅을 지원하는 경우 Autopilot은 포드 CPU 요청에 vCPU 0.25개 증분을 적용하지 않습니다. 클러스터에서 버스팅을 지원하지 않는 경우 Autopilot은 CPU 요청을 가장 가까운 vCPU 0.25개로 반올림합니다. 클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

  • CPU:메모리 비율은 선택한 컴퓨팅 클래스나 하드웨어 구성에 허용되는 범위 내에 있어야 합니다. CPU:메모리 비율이 허용 범위를 벗어나면 Autopilot에서 자동으로 소규모 리소스를 늘립니다. 예를 들어 Scale-Out 클래스에서 실행되는 포드에 vCPU 1개와 메모리 16GiB(1:16 비율)를 요청하면 Autopilot은 CPU 요청을 vCPU 4개로 늘리며 비율은 1:4로 변경됩니다.

컴퓨팅 클래스의 최솟값 및 최댓값

다음 표에서는 Autopilot에서 지원하는 각 컴퓨팅 클래스의 최소, 최대, 허용 메모리 대비 CPU 비율을 설명합니다.

컴퓨팅 클래스 CPU:메모리 비율(vCPU:GiB) 리소스 최소 최대
범용(기본값) 1:1~1:6.5 사이 CPU

값은 다음과 같이 클러스터가 버스팅을 지원하는지 여부에 따라 달라집니다.

  • 버스팅 지원 클러스터: 50m CPU
  • 버스팅 미지원 클러스터: 250m CPU

클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

vCPU 30개
메모리

값은 다음과 같이 클러스터가 버스팅을 지원하는지 여부에 따라 달라집니다.

  • 버스팅 지원 클러스터: 52MiB
  • 버스팅 미지원 클러스터: 512MiB

클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

110GiB
Accelerator 가속기의 최솟값 및 최댓값을 참조하세요.
균형 1:1~1:8 CPU vCPU 0.25개

vCPU 222개

최소 CPU 플랫폼이 선택된 경우:

  • Intel 플랫폼: vCPU 126개
  • AMD 플랫폼: vCPU 222개
메모리 0.5GiB

851GiB

최소 CPU 플랫폼이 선택된 경우:

  • Intel 플랫폼: 823GiB
  • AMD 플랫폼: 851GiB
성능 해당 사항 없음 CPU 0.001 vCPU
  • C3 머신 계열: vCPU 174개
  • 로컬 SSD를 사용하는 C3 머신 계열: vCPU 174개
  • C3D 머신 계열: vCPU 358개
  • 로컬 SSD를 사용하는 C3D 머신 계열: vCPU 358개
  • H3 머신 계열: vCPU 86개
  • C2 머신 계열: vCPU 58개
  • C2D 머신 계열: vCPU 110개
  • T2A 머신 계열: vCPU 46개
  • T2D 머신 계열: vCPU 58개
메모리 1MiB
  • C3 머신 계열: 1,345GiB
  • 로컬 SSD를 사용하는 C3 머신 계열: 670GiB
  • C3D 머신 계열: 2,750GiB
  • 로컬 SSD를 사용하는 C3D 머신 계열: 1,375GiB
  • H3 머신 계열: 330GiB
  • C2 머신 계열: 218GiB
  • C2D 머신 계열: 835GiB
  • T2A 머신 계열: 172GiB
  • T2D 머신 계열: 218GiB
임시 스토리지 10MiB
  • C3 머신 계열: 250GiB
  • 로컬 SSD를 사용하는 C3 머신 계열: 10,000GiB
  • C3D 머신 계열: 250GiB
  • 로컬 SSD를 사용하는 C3D 머신 계열: 10,000GiB
  • H3 머신 계열: 250GiB
  • C2 머신 계열: 250GiB
  • C2D 머신 계열: 250GiB
  • T2A 머신 계열: 250GiB
  • T2D 머신 계열: 250GiB

버전 1.29.3-gke.1038000 이상에서는 하드웨어에 로컬 SSD가 포함되어 있지 않은 한 최대 임시 스토리지 요청을 56Ti로 지정할 수 있습니다.

수평 확장 1:4 CPU vCPU 0.25개
  • arm64: vCPU 43개
  • amd64: vCPU 54개
메모리 1GiB
  • arm64: 172GiB
  • amd64: 216GiB

Autopilot 포드에서 컴퓨팅 클래스를 요청하는 방법은 Autopilot 포드용 컴퓨팅 클래스 선택을 참조하세요.

가속기의 최솟값 및 최댓값

다음 섹션에서는 GPU 및 TPU와 같은 하드웨어 가속기를 사용하는 포드의 최소, 최대, 허용 메모리 대비 CPU 비율을 설명합니다.

지정된 경우를 제외하고 지원되는 최대 임시 스토리지는 122Gb이고, 버전 1.28.6-gke.1369000 이상 및 버전 1.29.1-gke.1575000 이상에서 지원됩니다. 이전 버전의 경우 지원되는 최대 임시 스토리지는 10GiB입니다.

가속기 컴퓨팅 클래스의 최솟값 및 최댓값

다음 표에는 GKE Autopilot 클러스터에서 가속기를 실행하는 데 권장되는 방법인 가속기 컴퓨팅 클래스를 사용하는 포드의 최소 및 최대 리소스 요청이 나와 있습니다. 가속기 컴퓨팅 클래스에서 GKE는 메모리 대비 CPU 요청 비율을 적용하지 않습니다.

가속기 유형 리소스 최소 최대
NVIDIA H100(80GB)
nvidia-h100-80gb
CPU
  • GPU 8개: vCPU 0.001개
  • GPU 8개: vCPU 206개
메모리
  • GPU 8개: 1MiB
  • GPU 8개: 1795GiB
임시 스토리지
  • GPU 8개: 10MiB
  • GPU 8개: 5250GiB
NVIDIA A100(40GB)
nvidia-tesla-a100
CPU 0.001 vCPU
  • GPU 1개: vCPU 11개
  • GPU 2개: vCPU 22개
  • GPU 4개: vCPU 46개
  • GPU 8개: vCPU 94개
  • GPU 16개: vCPU 94개

A100 GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리 1MiB
  • GPU 1개: 74GiB
  • GPU 2개: 148GiB
  • GPU 4개: 310GiB
  • GPU 8개: 632GiB
  • GPU 16개: 1264GiB

A100 GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

NVIDIA A100(80GB)
nvidia-a100-80gb
CPU 0.001 vCPU
  • GPU 1개: vCPU 11개
  • GPU 2개: vCPU 22개
  • GPU 4개: vCPU 46개
  • GPU 8개: vCPU 94개

A100(80GB) GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리 1MiB
  • GPU 1개: 148GiB
  • GPU 2개: 310GiB
  • GPU 4개: 632GiB
  • GPU 8개: 1,264GiB

A100(80GB) GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

임시 스토리지 512MB
  • GPU 1개: 280GiB
  • GPU 2개: 585GiB
  • GPU 4개: 1,220GiB
  • GPU 8개: 2,540GiB
NVIDIA L4
nvidia-l4
CPU 0.001 vCPU
  • GPU 1개: vCPU 31개
  • GPU 2개: vCPU 23개
  • GPU 4개: vCPU 47개
  • GPU 8개: vCPU 95개

L4 GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리 1MiB
  • GPU 1개: 115GiB
  • GPU 2개: 86GiB
  • GPU 4개: 177GiB
  • GPU 8개: 363GiB

L4 GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

NVIDIA Tesla T4
nvidia-tesla-t4
CPU 0.001 vCPU
  • GPU 1개: vCPU 46개
  • GPU 2개: vCPU 46개
  • GPU 4개: vCPU 94개
메모리 1MiB
  • GPU 1개: 287.5GiB
  • GPU 2개: 287.5GiB
  • GPU 4개: 587.5GiB
TPU v5e
tpu-v5-lite-device
CPU 0.001 vCPU
  • 1x1 토폴로지: vCPU 24개
  • 2x2 토폴로지: vCPU 112개
  • 2x4 토폴로지: vCPU 224개
메모리 1MiB
  • 1x1 토폴로지: 48GiB
  • 2x2 토폴로지: 192GiB
  • 2x4 토폴로지: 384GiB
임시 스토리지 10MiB 56TiB
TPU v5e
tpu-v5-lite-podslice
CPU 0.001 vCPU
  • 1x1 토폴로지: vCPU 24개
  • 2x2 토폴로지: vCPU 112개
  • 2x4 토폴로지(4칩 요청): vCPU 112개
  • 2x4 토폴로지(8칩 요청): 224vCPU
  • 4x4 토폴로지: vCPU 112개
  • 4x8 토폴로지: vCPU 112개
  • 8x8 토폴로지: vCPU 112개
  • 8x16 토폴로지: vCPU 112개
  • 16x16 토폴로지: vCPU 112개
메모리 1MiB
  • 1x1 토폴로지: 48GiB
  • 2x2 토폴로지: 192GiB
  • 2x4 토폴로지(4칩 요청): 192GiB
  • 2x4 토폴로지(8개 칩 요청): 384GiB
  • 4x4 토폴로지: 192GiB
  • 4x8 토폴로지: 192GiB
  • 8x8 토폴로지: 192GiB
  • 8x16 토폴로지: 192GiB
  • 16x16 토폴로지: 192GiB
임시 스토리지 10MiB 56TiB
TPU v5p
tpu-v5p-slice
CPU 0.001 vCPU vCPU 280개
메모리 1MiB 448GiB
임시 스토리지 10MiB 56TiB
TPU v4
tpu-v4-podslice
CPU 0.001 vCPU vCPU 240개
메모리 1MiB 407GiB
임시 스토리지 10MiB 56TiB

Autopilot 포드에서 GPU를 요청하는 방법은 Autopilot의 GPU 워크로드 배포를 참조하세요.

컴퓨팅 클래스가 없는 GPU의 최솟값 및 최댓값

다음 표에는 가속기 컴퓨팅 클래스를 사용하지 않는 포드의 최소 및 최대 리소스 요청이 나와 있습니다.

GPU 유형 CPU:메모리 비율(vCPU:GiB) 리소스 최소 최대
NVIDIA A100(40GB)
nvidia-tesla-a100
미적용 CPU
  • GPU 1개: vCPU 9개
  • GPU 2개: vCPU 20개
  • GPU 4개: vCPU 44개
  • GPU 8개: vCPU 92개
  • GPU 16개: vCPU 92개
  • GPU 1개: vCPU 11개
  • GPU 2개: vCPU 22개
  • GPU 4개: vCPU 46개
  • GPU 8개: vCPU 94개
  • GPU 16개: vCPU 94개

A100 GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리
  • GPU 1개: 60GiB
  • GPU 2개: 134GiB
  • GPU 4개: 296GiB
  • GPU 8개: 618GiB
  • GPU 16개: 1,250GiB
  • GPU 1개: 74GiB
  • GPU 2개: 148GiB
  • GPU 4개: 310GiB
  • GPU 8개: 632GiB
  • GPU 16개: 1264GiB

A100 GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

NVIDIA A100(80GB)
nvidia-a100-80gb
미적용 CPU
  • GPU 1개: vCPU 9개
  • GPU 2개: vCPU 20개
  • GPU 4개: vCPU 44개
  • GPU 8개: vCPU 92개
  • GPU 1개: vCPU 11개
  • GPU 2개: vCPU 22개
  • GPU 4개: vCPU 46개
  • GPU 8개: vCPU 94개

A100(80GB) GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리
  • GPU 1개: 134GiB
  • GPU 2개: 296GiB
  • GPU 4개: 618GiB
  • GPU 8개: 1,250GiB
  • GPU 1개: 148GiB
  • GPU 2개: 310GiB
  • GPU 4개: 632GiB
  • GPU 8개: 1,264GiB

A100(80GB) GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

임시 스토리지
  • GPU 1개: 512MiB
  • GPU 2개: 512MiB
  • GPU 4개: 512MiB
  • GPU 8개: 512MiB
  • GPU 1개: 280GiB
  • GPU 2개: 585GiB
  • GPU 4개: 1,220GiB
  • GPU 8개: 2,540GiB
NVIDIA L4
nvidia-l4
  • GPU 1개: 1:3.5~1:4
  • GPU 2개, 4개, 8개: 적용되지 않음
CPU
  • GPU 1개: vCPU 2개
  • GPU 2개: vCPU 21개
  • GPU 4개: vCPU 45개
  • GPU 8개: vCPU 93개
  • GPU 1개: vCPU 31개
  • GPU 2개: vCPU 23개
  • GPU 4개: vCPU 47개
  • GPU 8개: vCPU 95개

L4 GPU 노드에서 실행되는 모든 DaemonSet의 CPU 요청 합계가 vCPU 2개를 초과해서는 안 됩니다.

메모리
  • GPU 1개: 7GiB
  • GPU 2개: 78GiB
  • GPU 4개: 170GiB
  • GPU 8개: 355GiB
  • GPU 1개: 115GiB
  • GPU 2개: 86GiB
  • GPU 4개: 177GiB
  • GPU 8개: 363GiB

L4 GPU 노드에서 실행되는 모든 DaemonSet의 메모리 요청 합계가 14GiB를 초과하면 안 됩니다.

NVIDIA Tesla T4
nvidia-tesla-t4
1:1~1:6.25 CPU vCPU 0.5개
  • GPU 1개: vCPU 46개
  • GPU 2개: vCPU 46개
  • GPU 4개: vCPU 94개
메모리 0.5GiB
  • GPU 1개: 287.5GiB
  • GPU 2개: 287.5GiB
  • GPU 4개: 587.5GiB

Autopilot 포드에서 GPU를 요청하는 방법은 Autopilot의 GPU 워크로드 배포를 참조하세요.

워크로드 분리 및 연장된 기간에 대한 리소스 요청

Autopilot을 사용하면 다음과 같은 메서드를 사용하여 Kubernetes 예약 및 제거 동작을 조작할 수 있습니다.

지정된 요청이 최솟값보다 적으면 사용한 방법에 따라 Autopilot 동작이 다음과 같이 변경됩니다.

  • taint, 톨러레이션(toleration), 선택기, 연장된 기간 포드: Autopilot은 포드를 예약할 때 요청을 늘리기 위해 포드를 수정합니다.
  • 포드 안티-어피니티: Autopilot에서 포드를 거부하고 오류 메시지를 표시합니다.

다음 표에서는 기본 요청과 지정할 수 있는 최소 리소스 요청을 설명합니다. 구성 또는 컴퓨팅 클래스가 이 표에 없으면 Autopilot에서 특별한 최솟값 또는 기본값을 적용하지 않습니다.

컴퓨팅 클래스 리소스 기본값 최소
범용 CPU vCPU 0.5개 vCPU 0.5개
메모리 2GiB 0.5GiB
균형 CPU 2 vCPU vCPU 1개
메모리 8GiB 4GiB
수평 확장 CPU vCPU 0.5개 vCPU 0.5개
메모리 2GiB 2GiB

Init 컨테이너

init 컨테이너가 순차적으로 실행되고 애플리케이션 컨테이너가 시작되기 전에 완료되어야 합니다. Autopilot init 컨테이너에 리소스 요청을 지정하지 않으면 GKE가 포드에 사용할 수 있는 총 리소스를 각 init 컨테이너에 할당합니다. 이 동작은 각 init 컨테이너에서 포드가 예약된 노드에서 사용 가능한 할당되지 않은 리소스를 사용할 수 있는 GKE Standard와 다릅니다.

애플리케이션 컨테이너와 달리 GKE에서는 포드에 사용 가능한 전체 리소스가 각 컨테이너에 제공되도록 Autopilot init 컨테이너에 대해 리소스 요청을 지정하지 않는 것이 좋습니다. 기본값보다 적게 리소스를 요청하면 init 컨테이너가 제한됩니다. Autopilot 기본값보다 많은 리소스를 요청하면 포드의 전체 기간 동안 청구 금액이 늘어날 수 있습니다.

Autopilot에서 리소스 한도 설정

Kubernetes를 사용하면 포드 사양의 리소스에 requestslimits를 모두 설정할 수 있습니다. 포드의 동작은 다음 표에 설명된 대로 limitsrequests와 다른지에 따라 달라집니다.

설정된 값 Autopilot 동작
requestslimits와 같음 포드는 Guaranteed QoS 클래스를 사용합니다.
requests를 설정하지만 limits를 설정하지 않음

동작은 다음과 같이 클러스터가 버스팅을 지원하는지 여부에 따라 달라집니다.

  • 버스팅 지원 클러스터: 포드가 사용 가능한 버스터 가능 용량으로 버스팅할 수 있습니다.
  • 버스팅 미지원 클러스터: GKE가 requests와 동일한 limits를 설정합니다.

클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

requests 설정되지 않음, limits 설정됨 Autopilot에서 requests를 기본 Kubernetes 동작인 limits 값으로 설정합니다.

실행 전:

resources:
  limits:
    cpu: "400m"

이후:

resources:
  requests:
    cpu: "400m"
  limits:
    cpu: "400m"
requestslimits보다 작음

동작은 다음과 같이 클러스터가 버스팅을 지원하는지 여부에 따라 달라집니다.

  • 버스팅 지원 클러스터: 포드가 최대 limits에 지정된 값으로 버스팅할 수 있습니다.
  • 버스팅 미지원 클러스터: GKE가 requests와 동일한 limits를 설정합니다.

클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

requestslimits 보다 큼 Autopilot에서 requestslimits 값으로 설정합니다.

실행 전:

resources:
  requests:
    cpu: "450m"
  limits:
    cpu: "400m"

이후:

resources:
  requests:
    cpu: "400m"
  limits:
    cpu: "400m"
requests 설정되지 않음, limits 설정되지 않음

Autopilot에서 requests를 컴퓨팅 클래스 또는 하드웨어 구성의 기본값으로 설정합니다.

limits의 동작은 다음과 같이 클러스터가 버스팅을 지원하는지 여부에 따라 달라집니다.

  • 버스팅 지원 클러스터: Autopilot이 limits를 설정하지 않습니다.
  • 버스팅 미지원 클러스터: GKE가 requests와 동일한 limits를 설정합니다.

클러스터가 버스팅을 지원하는지 확인하려면 GKE의 버스팅 가용성을 참조하세요.

대부분의 경우 워크로드에 적절한 리소스 요청과 동일한 한도를 설정합니다.

부팅 중이나 트래픽이 많은 기간과 같이 안정적인 상태보다 많은 리소스가 일시적으로 필요한 워크로드의 경우 한도를 요청보다 높게 설정하여 포드가 버스팅되도록 합니다. 자세한 내용은 GKE에서 포드 버스팅 구성을 참조하세요.

Autopilot에서 자동 리소스 관리

워크로드에 지정된 리소스 요청이 허용 범위를 벗어나거나 일부 컨테이너에 리소스를 요청하지 않으면 Autopilot에서 허용 한도를 준수하도록 워크로드 구성을 수정합니다. Autopilot은 지정된 요청이 없는 컨테이너에 기본값을 적용한 후 리소스 비율 및 리소스 수직 확장 요구사항을 계산합니다.

  • 요청 누락: 일부 컨테이너에서 리소스를 요청하지 않으면 Autopilot에서 기본 요청을 컴퓨팅 클래스나 하드웨어 구성에 적용합니다.
  • CPU:메모리 비율: Autopilot은 비율이 허용 범위 내에 있도록 작은 리소스를 수직 확장합니다.
  • 임시 스토리지: Autopilot은 각 컨테이너에 필요한 최소 용량을 충족하도록 임시 스토리지 요청을 수정합니다. 모든 컨테이너에서 스토리지 요청의 누적 값은 최대 허용 값을 초과할 수 없습니다. 1.28.6-gke.1317000 이전에는 값이 최댓값을 초과하면 Autopilot에서 요청된 임시 스토리지를 축소했습니다. 버전 1.28.6-gke.1317000 이상에서는 Autopilot이 워크로드를 거부합니다.
  • 최솟값 미만 요청: 선택한 하드웨어 구성에 허용되는 최솟값보다 리소스를 적게 요청하면 Autopilot에서 자동으로 최소 리소스 값을 요청하도록 포드를 수정합니다.

기본적으로 Autopilot에서 최소 또는 기본 리소스 값을 충족하도록 리소스를 자동으로 수직 확장하면 GKE는 추가 용량을 포드 매니페스트의 첫 번째 컨테이너에 할당합니다. GKE 버전 1.27.2-gke.2200 이상에서는 포드 매니페스트의 annotations 필드에 다음을 추가하여 GKE가 추가 리소스를 특정 컨테이너에 할당하도록 설정할 수 있습니다.

autopilot.gke.io/primary-container: "CONTAINER_NAME"

CONTAINER_NAME을 컨테이너 이름으로 바꿉니다.

리소스 수정 예시

다음 예시 시나리오에서는 Autopilot이 실행 중인 포드와 컨테이너의 요구사항을 충족하도록 워크로드 구성을 수정하는 방법을 보여줍니다.

vCPU가 0.05개 미만인 단일 컨테이너

컨테이너 번호 원래 요청 수정된 요청
1 CPU: 30mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
CPU: 50mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB

총 CPU가 vCPU 0.05개보다 적은 여러 컨테이너

컨테이너 번호 원래 요청 수정된 요청
1 CPU: 10mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
CPU: 30mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
2 CPU: 10mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
CPU: 10mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
3 CPU: 10mvCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
CPU: 10mCPU
메모리: 0.5GiB
임시 스토리지: 10MiB
총 포드 리소스 CPU: 50mCPU
메모리: 1.5GiB
임시 스토리지: 30MiB

요청된 CPU에 비해 메모리가 너무 작은 단일 컨테이너

이 예시에서는 메모리가 CPU 용량(vCPU 1개:1GiB)에 비해 너무 낮습니다. CPU와 메모리의 최소 허용 비율은 1:1입니다. 비율이 이보다 낮으면 메모리 요청이 증가합니다.

컨테이너 번호 원래 요청 수정된 요청
1 CPU: vCPU 4개
메모리: 1GiB
임시 스토리지: 10MiB
CPU: vCPU 4개
메모리: 4GiB
임시 스토리지: 10MiB
총 포드 리소스 CPU: vCPU 4개
메모리: 4GiB
임시 스토리지: 10MiB

다음 단계