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.
-
Crie um arquivo YAML denominado nodepool.yaml com a configuração de
NodePooldesejada. -
Você pode usar o exemplo de configuração abaixo.
Procure
Readyabaixo deConditionspara 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 -
Aplique o
NodePoolao seu cluster:kubectl apply -f nodepool.yaml -
Monitore o status de
NodePoolpara garantir que a condiçãoReadyno status esteja definida comoTrue: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 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 ( |
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 ( |
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 ( |
Especifica a arquitetura da CPU. |
Somente amd64 (no momento, não é possível usar ARM). |
n/a |