NodePool 생성 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

NodePool 생성

NodePool은 Karpenter에서 생성할 수 있는 노드와 해당 노드에서 실행할 수 있는 포드에 대한 제약 조건을 설정합니다. 다음과 같은 작업을 수행하도록 NodePool을 구성할 수 있습니다.

  • 노드 생성을 특정 영역, 인스턴스 유형 및 컴퓨터 아키텍처로 제한합니다.

  • 레이블 또는 테인트를 정의하여 Karpenter가 생성하는 노드에서 실행할 수 있는 포드를 제한합니다.

참고

HyperPod 제공업체는 아래에 설명된 잘 알려진 Kubernetes 및 Karpenter 요구 사항의 제한된 세트를 지원합니다.

다음 단계에서는 NodePool을 생성하는 방법을 다룹니다.

  1. 원하는 NodePool 구성으로 nodepool.yaml이라는 YAML 파일을 생성합니다.

  2. 아래 샘플 구성을 사용할 수 있습니다.

    모든 종속 리소스가 제대로 작동하고 있는지 보려면 Conditions 아래에서 Ready를 확인합니다.

    apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: sample-np spec: template: spec: nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: multiazc5 expireAfter: Never requirements: - key: node.kubernetes.io/instance-type operator: Exists
  3. 클러스터에 NodePool을 적용합니다.

    kubectl apply -f nodepool.yaml
  4. NodePool 상태를 모니터링하여 상태의 Ready 조건이 True로 설정되어 있는지 확인합니다.

    kubectl get nodepool sample-np -oyaml
    apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: <nodepool-name> uid: <resource-uid> ... spec: disruption: budgets: - nodes: 90% consolidateAfter: 0s consolidationPolicy: WhenEmptyOrUnderutilized template: spec: expireAfter: 720h nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: <nodeclass-name> requirements: - key: node.kubernetes.io/instance-type operator: Exists status: conditions: - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: ValidationSucceeded status: "True" type: ValidationSucceeded - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: NodeClassReady status: "True" type: NodeClassReady - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: Ready status: "True" type: Ready

Karpenter HyperPod 제공업체에 지원되는 레이블

다음은 NodePool 구성에서 지정할 수 있는 선택적 제약 조건 및 요구 사항입니다.

요구 사항 유형

용도

사용 사례/지원되는 값

권장 사항

인스턴스 유형(node.kubernetes.io/instance-type)

Karpenter가 선택할 수 있는 SageMaker 인스턴스 유형 제어

ml.c5.xlarge로만 제한하는 대신 Karpenter가 인스턴스 그룹의 사용 가능한 모든 유형 중에서 선택하도록 합니다.

이 항목을 정의하지 않은 상태로 두거나 Exists 운영자를 사용하여 Karpenter가 비용 효과적인 인스턴스 유형을 선택할 수 있는 유연성을 극대화합니다.

가용 영역(topology.kubernetes.io/zone)

에서 생성할 수 있는 AWS가용 영역 노드 제어

us-east-1c와 같은 특정 영역 이름입니다. 지연 시간 또는 규정 준수 이유로 특정 영역에서 실행하는 데 포드가 필요한 경우 사용합니다.

해당 사항 없음

아키텍처(kubernetes.io/arch)

CPU 아키텍처 지정

amd64만 해당(현재 ARM 지원되지 않음)합니다.

해당 사항 없음