Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Istanze Spot in Amazon SageMaker HyperPod
Amazon SageMaker HyperPod supporta Amazon EC2 Spot Instances, che consentono risparmi significativi sui costi per carichi di lavoro con tolleranza ai guasti e stateless. AI/ML I casi d'uso includono lavori di inferenza e formazione in batch, ottimizzazione degli iperparametri e carichi di lavoro sperimentali. Puoi anche utilizzare le istanze Spot per scalare automaticamente la capacità di elaborazione quando questa capacità a basso costo è disponibile e tornare alla capacità on demand quando viene recuperata la capacità Spot aggiunta.
Per impostazione predefinita, le istanze Spot on HyperPod funzionano con la funzione HyperPod di provisioning continuo, che consente di fornire automaticamente la capacità SageMaker HyperPod residua in background mentre i carichi di lavoro iniziano immediatamente sulle istanze disponibili. Quando il provisioning dei nodi riscontra errori dovuti a vincoli di capacità o altri problemi, riprova SageMaker HyperPod automaticamente in background finché i cluster non raggiungono la scala desiderata, in modo che le operazioni di scalabilità automatica rimangano resilienti e non bloccanti. Puoi anche utilizzare le istanze Spot con la scalabilità automatica basata su Karpenter.
Funzionalità e concetti chiave da considerare
-
Ottieni un risparmio sui costi fino al 90% rispetto alle istanze On-Demand
-
Utilizza le istanze Spot per lavori in grado di gestire le interruzioni e in cui i tempi di inizio e completamento dei lavori sono flessibili
-
Quando si utilizza Karpenter per il ridimensionamento automatico, è possibile configurare la configurazione in modo da ricorrere automaticamente HyperPod a On-Demand quando la capacità Spot è interrotta o non disponibile
-
Accedi a un'ampia gamma di tipi di istanze di CPU, GPU e acceleratori supportati da HyperPod
-
La disponibilità della capacità dipende dalla fornitura EC2 e varia in base alla regione e al tipo di istanza
-
È possibile eseguire varie azioni, come identificare la probabilità di ottenere le istanze desiderate o di subire interruzioni, utilizzando vari strumenti come Spot Instance
Advisor fornito da EC2
Nozioni di base
Prerequisiti
Prima di iniziare, assicurati di disporre dei seguenti elementi:
AWS CLI installato e configurato
Imposta AWS le tue credenziali e la tua regione:
aws configure
Per istruzioni dettagliate, consulta la documentazione relativa alle AWS credenziali.
Ruolo IAM per l'esecuzione SageMaker HyperPod
Per aggiornare il cluster, devi prima creare le autorizzazioni AWS Identity and Access Management
Configurazione di cluster VPC ed EKS
2.1 Creazione di cluster VPC ed EKS
Segui la guida all'installazione di HyperPod EKS per:
-
Crea un VPC con sottoreti in più zone di disponibilità
-
Crea un cluster EKS
-
Installa le dipendenze richieste utilizzando i grafici Helm
2.2 Imposta le variabili d'ambiente
export EKS_CLUSTER_ARN="arn:aws:eks:REGION:ACCOUNT_ID:cluster/CLUSTER_NAME" export EXECUTION_ROLE="arn:aws:iam::ACCOUNT_ID:role/SageMakerExecutionRole" export BUCKET_NAME="your-s3-bucket-name" export SECURITY_GROUP="sg-xxxxx" export SUBNET="subnet-xxxxx" export SUBNET1="subnet-xxxxx" export SUBNET2="subnet-xxxxx" export SUBNET3="subnet-xxxxx"
Quote di servizio per le istanze Spot
Verifica di disporre delle quote richieste per le istanze che creerai nel cluster. SageMaker HyperPod Per rivedere le quote, nella console Service Quotas, AWS scegli servizi nel riquadro di navigazione, quindi scegli. SageMaker Ad esempio, la schermata seguente mostra la quota disponibile per le istanze c5.
Verifica la disponibilità degli spot
Prima di creare gruppi di istanze Spot, verifica la disponibilità in diverse zone di disponibilità:
aws ec2 get-spot-placement-scores \ --region us-west-2 \ --instance-types c5.2xlarge \ --target-capacity 10 \ --single-availability-zone \ --region-names us-west-2
Suggerimento: scegli come target le zone di disponibilità con punteggi di posizionamento più alti per una migliore disponibilità. Puoi anche controllare la disponibilità di Spot Instance Advisor e i prezzi EC2 Spot. Seleziona la zona di disponibilità richiesta con un punteggio di disponibilità migliore e configura il gruppo di istanze con la sottorete associata per avviare l'istanza in quella zona.
Creazione di un gruppo di istanze (nessuna scalabilità automatica)
CreateCluster (Spot)
aws sagemaker create-cluster \ --cluster-name clusterNameHere \ --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \ --node-provisioning-mode "Continuous" \ --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]' --vpc-config '{ "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET'"] }'
Aggiorna cluster (Spot + On-Demand)
aws sagemaker update-cluster \ --cluster-name "my-cluster" \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-x-az3", "InstanceType": "ml.c5.xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} }, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET3'"] } }, { "InstanceGroupName": "auto-spot-c5-2x-az2", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET2'"] } }, { "InstanceGroupName": "auto-ondemand-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]'
CapacityRequirementsnon può essere modificato una volta creato un gruppo di istanze.
Descrizione del cluster
aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region us-west-2
## Sample Response { "ClusterName": "my-cluster", "InstanceGroups": [ { "InstanceGroupName": "ml.c5.2xlarge", "InstanceType": "ml.c5.xlarge", "InstanceCount": 5, "CurrentCount": 3, "CapacityRequirements: { "Spot": {} }, "ExecutionRole": "arn:aws:iam::account:role/SageMakerExecutionRole", "InstanceStorageConfigs": [...], "OverrideVpcConfig": {...} } // Other IGs ] }
DescribeClusterNode
aws sagemaker describe-cluster-node --cluster-name $HP_CLUSTER_NAME --region us-west-2
## Sample Response { "NodeDetails": { "InstanceId": "i-1234567890abcdef1", "InstanceGroupName": "ml.c5.2xlarge", "CapacityType": "Spot", "InstanceStatus": {...} } }
Utilizzo della console
Crea e configura un SageMaker HyperPod cluster
Per iniziare, avvia e configura il cluster SageMaker HyperPod EKS e verifica che la modalità di provisioning continuo sia abilitata durante la creazione del cluster. Completa questa procedura:
-
Sulla console SageMaker AI, scegli HyperPod i cluster nel pannello di navigazione.
-
Scegli Crea HyperPod cluster e Orchestrated on Amazon EKS.
-
Per le opzioni di configurazione, seleziona Configurazione personalizzata.
-
In Nome, immetti un nome.
-
Per Ripristino dell'istanza, seleziona Automatico.
-
Per la modalità di provisioning dell'istanza, seleziona Usa il provisioning continuo.
-
CapacityType : Seleziona Spot
-
Seleziona Invia.
Schermata della console:
Questa configurazione crea la configurazione necessaria come cloud privato virtuale (VPC), sottoreti, gruppi di sicurezza e cluster EKS e installa gli operatori nel cluster. Puoi anche fornire risorse esistenti come un cluster EKS se desideri utilizzare un cluster esistente invece di crearne uno nuovo. Questa configurazione richiederà circa 20 minuti.
Aggiungere un nuovo gruppo di istanze Spot allo stesso cluster
Per aggiungere uno Spot IG al tuo cluster HyperPod EKS esistente. Completa questa procedura:
-
Sulla console SageMaker AI, scegli HyperPod i cluster nel riquadro di navigazione.
-
Seleziona un HyperPod cluster esistente con Amazon EKS Orchestration (assicurati che il provisioning continuo sia abilitato).
-
Fare clic su Edit (Modifica).
-
Nella pagina Modifica cluster, fai clic su Crea gruppo di istanze.
-
Seleziona il tipo di capacità: istanza Spot nella configurazione del gruppo di istanze.
-
Fai clic su Crea gruppo di istanze.
-
Fare clic su Submit (Invia).
Schermata della console:
Usando CloudFormation
Resources: TestCluster: Type: AWS::SageMaker::Cluster Properties: ClusterName: "SampleCluster" InstanceGroups: - InstanceGroupName: group1 InstanceType: ml.c5.2xlarge InstanceCount: 1 LifeCycleConfig: SourceS3Uri: "s3://'$BUCKET_NAME'" OnCreate: "on_create_noop.sh" ExecutionRole: "'$EXECUTION_ROLE'", ThreadsPerCore: 1 CapacityRequirements: Spot: {} VpcConfig: Subnets: - "'$SUBNET1'" SecurityGroupIds: - "'$SECURITY_GROUP'" Orchestrator: Eks: ClusterArn: '$EKS_CLUSTER_ARN' NodeProvisioningMode: "Continuous" NodeRecovery: "Automatic"
Vedi https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster- getting-started-eks-console - create-cluster-cfn .html per i dettagli.
Autoscaling basato su Karpenter
Crea il ruolo del cluster
Passaggio 1: accedi alla console IAM
-
Vai al servizio Console di gestione AWS→ IAM
-
Fai clic su Ruoli nella barra laterale sinistra
-
Fai clic su Crea ruolo
Fase 2: Impostazione della politica di fiducia
-
Seleziona la politica di fiducia personalizzata (anziché AWS il servizio)
-
Sostituisci il JSON predefinito con questa politica di fiducia:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "hyperpod.sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
fai clic su Avanti
Passaggio 3: creazione di una politica di autorizzazioni personalizzata
Poiché si tratta di SageMaker autorizzazioni specifiche, dovrai creare una politica personalizzata:
-
Fai clic su Crea politica (apre una nuova scheda)
-
Fai clic sulla scheda JSON
-
Inserisci questa policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:BatchAddClusterNodes", "sagemaker:BatchDeleteClusterNodes" ], "Resource": "*" } ] } -
Fai clic su Avanti
-
Dategli un nome come
SageMakerHyperPodRolePolicy -
Fai clic su Crea politica
Fase 4: Allega la policy al ruolo
-
Torna alla scheda di creazione del ruolo
-
Aggiorna l'elenco delle politiche
-
Cerca e seleziona la politica appena creata
-
Fai clic su Avanti
Fase 5: Assegna un nome e crea un ruolo
-
Inserisci il nome del ruolo (ad esempio,
SageMakerHyperPodRole) -
Se lo desideri, aggiungi una descrizione
-
Rivedi la politica di fiducia e le autorizzazioni
-
Fai clic su Crea ruolo
Verifica
Dopo la creazione, puoi effettuare la verifica tramite:
-
Se si seleziona la scheda Relazioni di fiducia, viene visualizzato il servizio hyperpod
-
La selezione della scheda Autorizzazioni mostra la tua politica personalizzata
-
Il ruolo ARN sarà disponibile per l'uso con HyperPod
Il formato ARN del ruolo sarà:
arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole
Crea cluster con AutoScaling:
Per una migliore disponibilità, crea IGs in più sottoreti AZs configurando le sottoreti. Puoi anche includere IGs onDemand come fallback.
aws sagemaker create-cluster \ --cluster-name clusterNameHere \ --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \ --node-provisioning-mode "Continuous" \ --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 0, // For Auto scaling keep instance count as 0 "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]' --vpc-config '{ "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET'"] }' --auto-scaling ' { "Mode": "Enable", "AutoScalerType": "Karpenter" }'
Aggiorna cluster (Spot + On-Demand)
aws sagemaker update-cluster \ --cluster-name "my-cluster" \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-x-az3", "InstanceType": "ml.c5.xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} }, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET3'"] } }, { "InstanceGroupName": "auto-spot-c5-2x-az2", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET2'"] } }, { "InstanceGroupName": "auto-ondemand-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]'
Crea HyperpodNodeClass
HyperpodNodeClassè una risorsa personalizzata che esegue il mapping a gruppi di istanze precreati SageMaker HyperPod, definendo i vincoli relativi ai tipi di istanze e alle zone di disponibilità supportati per le decisioni di scalabilità automatica di Karpenter. Per HyperpodNodeClass utilizzarla, è sufficiente specificare i nomi InstanceGroups del SageMaker HyperPod cluster che si desidera utilizzare come origine per le risorse di AWS calcolo da utilizzare per scalare i pod del proprio. NodePools Il HyperpodNodeClass nome che usi qui viene riportato nella sezione successiva NodePool in cui fai riferimento ad esso. Questo indica da NodePool cosa HyperpodNodeClass attingere le risorse. Per creare unHyperpodNodeClass, completa i seguenti passaggi:
-
Create un file YAML (ad esempio, nodeclass.yaml) simile al codice seguente. Aggiungi
InstanceGroupi nomi che hai usato al momento della creazione del cluster. SageMaker HyperPod Puoi anche aggiungere nuovi gruppi di istanze a un cluster SageMaker HyperPod EKS esistente. -
Fai riferimento al
HyperPodNodeClassnome nella tua NodePool configurazione.
Di seguito è riportato un esempioHyperpodNodeClass:
apiVersion: karpenter.sagemaker.amazonaws.com/v1 kind: HyperpodNodeClass metadata: name: multiazg6 spec: instanceGroups: # name of InstanceGroup in HyperPod cluster. InstanceGroup needs to pre-created # before this step can be completed. # MaxItems: 10 - auto-spot-c5-2x-az1 - auto-spot-c5-2x-az2 - auto-spot-c5-x-az3 - auto-ondemand-c5-2x-az1
Karpenter dà la priorità ai gruppi di istanze Spot rispetto alle istanze On-Demand, utilizzando On-Demand come fallback quando specificato nella configurazione. La selezione delle istanze viene ordinata in base ai punteggi di posizionamento EC2 Spot associati alla zona di disponibilità di ciascuna sottorete.
Applica la configurazione al tuo cluster EKS utilizzando: kubectl
kubectl apply -f nodeclass.yaml
Il HyperPod cluster deve essere AutoScaling abilitato e lo AutoScaling stato deve cambiare InService prima di HyperpodNodeClass poter essere applicato. Mostra anche le capacità dei gruppi di istanze come Spot o OnDemand. Per ulteriori informazioni e considerazioni chiave, consulta Scaling automatico su EKS. SageMaker HyperPod
Ad esempio
apiVersion: karpenter.sagemaker.amazonaws.com/v1 kind: HyperpodNodeClass metadata: creationTimestamp: "2025-11-30T03:25:04Z" name: multiazc6 uid: ef5609be-15dd-4700-89ea-a3370e023690 spec: instanceGroups: -spot1 status: conditions: // true when all IGs in the spec are present in SageMaker cluster, false otherwise - lastTransitionTime: "2025-11-20T03:25:04Z" message: "" observedGeneration: 3 reason: InstanceGroupReady status: "True" type: InstanceGroupReady // true if subnets of IGs are discoverable, false otherwise - lastTransitionTime: "2025-11-20T03:25:04Z" message: "" observedGeneration: 3 reason: SubnetsReady status: "True" type: SubnetsReady // true when all dependent resources are Ready [InstanceGroup, Subnets] - lastTransitionTime: "2025-11-30T05:47:55Z" message: "" observedGeneration: 3 reason: Ready status: "True" type: Ready instanceGroups: - instanceTypes: - ml.c5.2xlarge name:auto-spot-c5-2x-az2 subnets: - id: subnet-03ecc649db2ff20d2 zone: us-west-2a zoneId: usw2-az2 - capacities: {"Spot": {}}
Crea NodePool
NodePool Imposta i vincoli sui nodi che possono essere creati da Karpenter e sui pod che possono essere eseguiti su quei nodi. NodePool Possono essere impostati per eseguire varie azioni, come:
-
Definisci etichette e macchie per limitare i pod che possono essere eseguiti sui nodi creati da Karpenter
-
Limita la creazione di nodi a determinate zone, tipi di istanze e architetture di computer e così via
Per ulteriori informazioni su NodePool, fare riferimento a. NodePools
Per creare un, completa i seguenti passaggi: NodePool
Crea un file YAML denominato nodepool.yaml con la configurazione desiderata NodePool. Il codice seguente è una configurazione di esempio per creare un esempio. NodePool Specifichiamo NodePool di includere il nostro tipo di istanza SageMaker ml.g6.xlarge e lo specifichiamo inoltre per una zona. Per ulteriori personalizzazioni, fare riferimento a. NodePools
apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: gpunodepool spec: template: spec: nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: multiazg6 expireAfter: Never requirements: - key: node.kubernetes.io/instance-type operator: Exists - key: "node.kubernetes.io/instance-type" // Optional otherwise Karpenter will decide based on Job config resource requirements operator: In values: ["ml.c5.2xlarge"] - key: "topology.kubernetes.io/zone" operator: In values: ["us-west-2a"]
Suggerimento: in caso di interruzione sul EC2 posto, Hyperpod contamina il nodo per innescare lo sfratto del pod. Il processo di consolidamento di Karpenter rispetta i budget destinati alle interruzioni dei pod ed esegue la normale eliminazione di Kubernetes, ma se si imposta ConsolidateAfter: 0, il consolidamento può avvenire immediatamente, lasciando pochissimo tempo per lo sfratto graduale dei pod. Impostalo su un valore diverso da zero per un massimo di 2 minuti per consentire lo sfratto graduale dei pod per qualsiasi esigenza di checkpoint.
Applicalo NodePool al tuo cluster:
kubectl apply -f nodepool.yaml
Monitora lo NodePool stato per assicurarti che la condizione Ready nello stato sia impostata su True:
kubectl get nodepool gpunodepool -oyaml
Questo esempio mostra come utilizzare a per specificare l'hardware (tipo di istanza) e il posizionamento (zona di disponibilità) per i pod. NodePool
Avvia un carico di lavoro semplice
Il seguente carico di lavoro esegue una distribuzione Kubernetes in cui i pod in fase di implementazione richiedono 1 CPU e 256 MB di memoria per replica, per pod. I pod non sono ancora stati attivati.
kubectl apply -f https://raw.githubusercontent.com/aws/karpenter-provider-aws/refs/heads/main/examples/workloads/inflate.yaml
Quando lo applichiamo, possiamo vedere una distribuzione e l'avvio di un singolo nodo nel nostro cluster, come mostrato nella schermata seguente.
Per scalare questo componente, usa il seguente comando:
kubectl scale deployment inflate --replicas 10
Vedi https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker- hyperpod-eks-autoscaling .html per maggiori dettagli.
Gestione dell'interruzione dei nodi
Le istanze Spot possono essere recuperate in qualsiasi momento. EC2 nella maggior parte dei casi fornisce al massimo un avviso di interruzione di 2 minuti, ma questo avviso non è garantito. In alcune situazioni, EC2 può chiudere immediatamente le istanze Spot senza alcun preavviso. HyperPod gestisce automaticamente entrambi gli scenari:
-
Con un preavviso di 2 minuti: ritenta automaticamente lo sgombero graduale dei pod e la sostituzione controllata della capacità non appena la capacità Spot diventa disponibile.
-
Senza preavviso (cessazione immediata): ritenta automaticamente la sostituzione del nodo (quando la capacità Spot diventa disponibile) senza procedere allo sfratto
Come funziona
Quando EC2 invia un avviso di interruzione Spot, automaticamente: HyperPod
-
Rileva il segnale di interruzione
-
Influisce sul nodo: impedisce la pianificazione di nuovi pod sull'istanza interrotta
-
Rimuove con eleganza i pod: dà ai pod in esecuzione il tempo di completare o controllare il loro lavoro (nel rispetto di Kubernetes)
terminationGracePeriodSeconds -
Sostituisce la capacità: tenta automaticamente di fornire le istanze sostitutive (Spot o On-Demand in base alla disponibilità).
La sostituzione della capacità funziona fornendo automaticamente le istanze sostitutive. Quando la capacità non è immediatamente disponibile, il sistema continua a controllare fino a quando le risorse non diventano accessibili. Nel caso di gruppi di istanze senza scalabilità automatica, HyperPod tenta di scalare all'interno dello stesso gruppo di istanze fino a quando non diventa disponibile la capacità richiesta. Per i gruppi di istanze basati su Karpenter, Karpenter implementa un meccanismo di fallback su altri gruppi di istanze configurati nella classe Node quando il gruppo primario non è in grado di soddisfare la domanda. Inoltre, puoi configurare On-Demand come opzione di fallback, permettendo a Karpenter di passare automaticamente alle istanze On-Demand se non riesce a scalare correttamente i gruppi di istanze Spot.
-
Riprogramma i carichi di lavoro: Kubernetes riprogramma automaticamente i pod eliminati su nodi integri
Individuazione dell'utilizzo e della fattura
Per verificare l'utilizzo e la fatturazione delle istanze Spot su, HyperPod puoi utilizzare la console AWS Cost Explorer. Vai a Billing and Cost Management > Fattura
Per esplorare l'utilizzo e la fatturazione su Console, vai a Billing and Cost Management > Cost Explorer