Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cree un NodePool
El NodePool establece restricciones sobre los nodos que Karpenter puede crear y los pods que pueden ejecutarse en esos nodos. El NodePool se puede configurar para que haga cosas como:
-
Limitar la creación de nodos a determinadas zonas, tipos de instancias y arquitecturas de recursos de computación.
-
Definir etiquetas o taints para limitar los pod que pueden ejecutarse en los nodos que crea Karpenter.
nota
HyperPod El proveedor admite un conjunto limitado de requisitos conocidos de Kubernetes y Karpenter que se explican a continuación.
En los siguientes pasos se muestra cómo crear una NodePool.
-
Cree un archivo YAML llamado nodepool.yaml con la configuración de
NodePoolque desee. -
Puede usar la siguiente configuración de muestra.
Busque
ReadyenConditionspara indicar que todos los recursos dependientes funcionan correctamente.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 -
Aplique el
NodePoola su clúster:kubectl apply -f nodepool.yaml -
Supervise el estado de
NodePoolpara asegurarse de que el estado de la condiciónReadyse haya establecido enTrue: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
Etiquetas compatibles con Karpenter Provider HyperPod
Estas son las restricciones y requisitos opcionales que puede especificar en su configuración de NodePool.
|
Tipo de requisito |
Finalidad |
Utilice valores Case/Supported |
Recomendación |
|---|---|---|---|
|
Tipos de instancias ( |
Controla los tipos de SageMaker instancias entre los que Karpenter puede elegir |
En lugar de restringirlo solo a ml.c5.xlarge, deja que Karpenter elija entre todos los tipos disponibles en sus grupos de instancias |
No defina nada o utilice el operador Exists para ofrecer a Karpenter la máxima flexibilidad a la hora de elegir tipos de instancias rentables |
|
Zonas de disponibilidad ( |
Controla las zonas de AWS disponibilidad en las que se pueden crear los nodos |
Nombres de zonas específicas como us-east-1c. Úselo cuando necesite que los pods se ejecuten en zonas específicas por motivos de latencia o de conformidad |
n/a |
|
Arquitectura ( |
Especifica la arquitectura de la CPU |
Solo amd64 (actualmente no es compatible con ARM) |
n/a |