Crie um NodePool - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie um NodePool

O NodePool define restrições nos nós que podem ser criados pelo Karpenter e nos pods que podem ser executados nesses nós. O NodePool pode ser configurado para fazer coisas como:

  • Limitar a criação de nós a determinadas zonas, tipos de instância e arquiteturas de computador.

  • Definir rótulos ou taints para limitar os pods que podem ser executados nos nós que o Karpenter cria.

nota

HyperPod O provedor oferece suporte a um conjunto limitado de requisitos conhecidos do Kubernetes e do Karpenter, explicados abaixo.

As etapas a seguir mostram como criar uma NodePool.

  1. Crie um arquivo YAML denominado nodepool.yaml com a configuração de NodePool desejada.

  2. Você pode usar o exemplo de configuração abaixo.

    Procure Ready abaixo de Conditions para indicar que todos os recursos dependentes estão funcionando corretamente.

    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. Aplique o NodePool ao seu cluster:

    kubectl apply -f nodepool.yaml
  4. Monitore o status de NodePool para garantir que a condição Ready no status esteja definida como 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

Etiquetas compatíveis com o HyperPod Karpenter Provider

Essas são as restrições e os requisitos opcionais que você pode especificar em sua configuração de NodePool.

Tipo de requisito

Finalidade

Case/Supported Valores de uso

Recomendação

Tipos de instância (node.kubernetes.io/instance-type)

Controla quais tipos de SageMaker instância o Karpenter pode escolher

Em vez de se restringir apenas a ml.c5.xlarge, deixe o Karpenter escolher entre todos os tipos disponíveis em seus grupos de instâncias.

Deixe isso indefinido ou use o operador Exists para dar ao Karpenter a máxima flexibilidade na escolha de tipos de instância econômicos.

Zonas de disponibilidade (topology.kubernetes.io/zone)

Controla AWS em quais zonas de disponibilidade os nós podem ser criados

Nomes de zonas específicos, como us-east-1c. Use quando precisar que os pods sejam executados em zonas específicas por motivos de latência ou conformidade.

n/a

Arquitetura (kubernetes.io/arch)

Especifica a arquitetura da CPU.

Somente amd64 (no momento, não é possível usar ARM).

n/a