기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
NodePool 생성
NodePool은 Karpenter에서 생성할 수 있는 노드와 해당 노드에서 실행할 수 있는 포드에 대한 제약 조건을 설정합니다. 다음과 같은 작업을 수행하도록 NodePool을 구성할 수 있습니다.
-
노드 생성을 특정 영역, 인스턴스 유형 및 컴퓨터 아키텍처로 제한합니다.
-
레이블 또는 테인트를 정의하여 Karpenter가 생성하는 노드에서 실행할 수 있는 포드를 제한합니다.
참고
HyperPod 제공업체는 아래에 설명된 잘 알려진 Kubernetes 및 Karpenter 요구 사항의 제한된 세트를 지원합니다.
다음 단계에서는 NodePool을 생성하는 방법을 다룹니다.
-
원하는
NodePool구성으로 nodepool.yaml이라는 YAML 파일을 생성합니다. -
아래 샘플 구성을 사용할 수 있습니다.
모든 종속 리소스가 제대로 작동하고 있는지 보려면
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 -
클러스터에
NodePool을 적용합니다.kubectl apply -f nodepool.yaml -
NodePool상태를 모니터링하여 상태의Ready조건이True로 설정되어 있는지 확인합니다.kubectl get nodepool sample-np -oyamlapiVersion: 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 구성에서 지정할 수 있는 선택적 제약 조건 및 요구 사항입니다.
|
요구 사항 유형 |
용도 |
사용 사례/지원되는 값 |
권장 사항 |
|---|---|---|---|
|
인스턴스 유형( |
Karpenter가 선택할 수 있는 SageMaker 인스턴스 유형 제어 |
ml.c5.xlarge로만 제한하는 대신 Karpenter가 인스턴스 그룹의 사용 가능한 모든 유형 중에서 선택하도록 합니다. |
이 항목을 정의하지 않은 상태로 두거나 Exists 운영자를 사용하여 Karpenter가 비용 효과적인 인스턴스 유형을 선택할 수 있는 유연성을 극대화합니다. |
|
가용 영역( |
에서 생성할 수 있는 AWS가용 영역 노드 제어 |
us-east-1c와 같은 특정 영역 이름입니다. 지연 시간 또는 규정 준수 이유로 특정 영역에서 실행하는 데 포드가 필요한 경우 사용합니다. |
해당 사항 없음 |
|
아키텍처( |
CPU 아키텍처 지정 |
amd64만 해당(현재 ARM 지원되지 않음)합니다. |
해당 사항 없음 |