이 페이지에서는 NVIDIA Collective Communications Library(NCCL) Fast Socket 플러그인을 사용하여 Google Kubernetes Engine(GKE) 클러스터에서 더 효율적인 워크로드를 실행하는 방법을 보여줍니다.
Autopilot 클러스터는 NCCL Fast Socket을 지원하지 않습니다.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
제한사항
- Compute Engine 제한사항이 적용됩니다.
- gVNIC 제한사항이 적용됩니다.
- NCCL Fast Socket은 하드웨어 가속기가 사용 설정된 노드 풀에서만 지원됩니다.
요구사항
- NCCL Fast Socket을 사용하려면 노드 풀에 gVNIC가 사용 설정되어 있어야 합니다.
- GKE 노드는 Container-Optimized OS 노드 이미지를 사용해야 합니다.
- 클러스터가 GKE 버전 1.25.2-gke.1700 이상을 실행해야 합니다.
클러스터 만들기
새 클러스터를 만듭니다.
gcloud container clusters create CLUSTER_NAME \
--cluster-version=VERSION \
--region=COMPUTE_REGION
다음을 바꿉니다.
CLUSTER_NAME
: 새 클러스터의 이름입니다.VERSION
: GKE 버전이며 1.25.2-gke.1700 이상이어야 합니다.--release-channel
플래그를 사용하여 출시 채널을 선택할 수도 있습니다. 출시 채널은 기본 버전이 1.25.2-gke.1700 이상이어야 합니다.COMPUTE_REGION
: 새 클러스터의 Compute Engine 리전입니다. 영역 클러스터의 경우--zone=COMPUTE_ZONE
을 사용합니다.
NCCL Fast Socket 사용 설정
NCCL Fast Socket 플러그인을 사용하는 노드 풀을 만듭니다. 또한 gcloud container node-pools update
를 사용하여 기존 노드 풀을 업데이트할 수 있습니다.
gcloud container node-pools create NODEPOOL_NAME \
--accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--machine-type=MACHINE_TYPE \
--cluster=CLUSTER_NAME \
--enable-fast-socket \
--enable-gvnic
다음을 바꿉니다.
NODEPOOL_NAME
: 새 노드 풀의 이름입니다.CLUSTER_NAME
: 클러스터의 이름입니다.ACCELERATOR_TYPE
: 사용하는 GPU 가속기의 유형입니다. 예를 들면nvidia-tesla-t4
입니다.ACCELERATOR_COUNT
: 노드당 GPU 수입니다.MACHINE_TYPE
: 사용할 머신 유형입니다. NCCL Fast Socket은 메모리 최적화 머신 유형에서 지원되지 않습니다.
NVIDIA GPU 기기 드라이버 설치
NVIDIA GPU 기기 드라이버 설치의 안내에 따라 노드에 필요한 NVIDIA 기기 드라이버를 설치합니다.
Fast Socket 사용 설정 확인
NCCL Fast Socket이 사용 설정되어 있는지 확인하려면 kube-system 포드를 살펴봅니다.
kubectl get pods -n kube-system
출력은 다음과 비슷합니다.
NAME READY STATUS RESTARTS AGE
nccl-fastsocket-installer-qvfdw 2/2 Running 0 10m
nccl-fastsocket-installer-rtjs4 2/2 Running 0 10m
nccl-fastsocket-installer-tm294 2/2 Running 0 10m
이 출력에서 포드 수가 노드 풀의 노드 수와 동일해야 합니다.
NCCL Fast Socket 중지
NCCL Fast Socket을 중지하려면 다음 명령어를 실행합니다.
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--no-enable-fast-socket
기존 노드에는 플러그인이 계속 설치된 상태입니다. 워크로드를 새 노드로 마이그레이션하려면 수동으로 노드 풀 크기를 조정해야 합니다.
문제 해결
gVNIC 문제를 해결하려면 Google Virtual NIC 문제 해결을 참조하세요.
다음 단계
- 클러스터의 네트워크 정책에 따라 포드 연결이 허용되거나 거부되는 시점을 네트워크 정책 로깅을 사용하여 기록하기