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à.
Guida introduttiva ad AWS Batch Amazon EKS Private Clusters
AWS Batch è un servizio gestito che orchestra carichi di lavoro in batch nei cluster Amazon Elastic Kubernetes Service (Amazon EKS). Ciò include l'accodamento, il monitoraggio delle dipendenze, la gestione delle priorità e dei nuovi tentativi di lavoro, la gestione dei pod e il ridimensionamento dei nodi. Questa funzionalità collega il tuo cluster privato esistente di Amazon EKS AWS Batch per eseguire i tuoi lavori su larga scala. Puoi utilizzare eksctl
Per impostazione predefinita, i cluster solo privati di Amazon EKS non hanno accesso a inbound/outbound Internet e puoi accedere al server API solo dall'interno del tuo VPC o da una rete connessa. Gli endpoint Amazon VPC vengono utilizzati per consentire l'accesso privato ad altri servizi. AWS
eksctl
supporta la creazione di cluster completamente privati utilizzando un Amazon VPC e sottoreti preesistenti.
crea inoltre endpoint Amazon VPC nell'Amazon VPC fornito e modifica le tabelle di routing per le sottoreti fornite.eksctl
A ogni sottorete deve essere associata una tabella di routing esplicita, poiché
non modifica la tabella di routing principale. Il tuo cluster deve estrarre immagini da un registro di container che si trova nel tuo Amazon VPC. Inoltre, puoi creare un Amazon Elastic Container Registry nel tuo Amazon VPC e copiarvi le immagini dei container per i nodi da cui estrarre. Per ulteriori informazioni, consulta Copiare l'immagine di un contenitore da un repository a un altro. Per iniziare a usare gli archivi privati di Amazon ECR, consulta la sezione Archivi privati di Amazon ECR.eksctl
Facoltativamente, puoi creare una regola pull through cache con Amazon ECR. Una volta creata una regola pull through cache per un registro pubblico esterno, puoi estrarre un'immagine da quel registro pubblico esterno utilizzando il tuo URI (Uniform Resource Identifier) del registro privato Amazon ECR. Quindi Amazon ECR crea un repository e memorizza l'immagine nella cache. Quando un'immagine memorizzata nella cache viene estratta utilizzando l'URI del registro privato Amazon ECR, Amazon ECR controlla il registro remoto per verificare se è disponibile una nuova versione dell'immagine e aggiorna il registro privato fino a una volta ogni 24 ore.
Indice
Panoramica
Questo tutorial dimostra come eseguire la configurazione AWS Batch con un Amazon EKS privato utilizzando AWS CloudShell, kubectl
eeksctl
.
- Destinatari
-
Questo tutorial è progettato per gli amministratori di sistema e gli sviluppatori responsabili della configurazione, del test e della distribuzione AWS Batch.
- Funzionalità utilizzate
-
Questo tutorial mostra come usare AWS CLI, per:
-
Usa Amazon Elastic Container Registry (Amazon ECR) per archiviare le immagini dei container
-
Crea e configura un ambiente di calcolo Amazon EKS
-
Crea una coda di lavoro.
-
Creazione di una definizione di processo
-
Crea e invia un lavoro da eseguire
-
Invia un lavoro con eccezioni
-
- Tempo richiesto
-
Dovrebbero essere necessari circa 40-50 minuti per completare questo tutorial.
- Restrizioni regionali
-
Non esistono restrizioni nazionali o regionali associate all'utilizzo di questa soluzione.
- Costi di utilizzo delle risorse
-
La creazione di un AWS account è gratuita. Tuttavia, l'implementazione di questa soluzione potrebbe comportare l'addebito di alcuni o tutti i costi elencati nella seguente tabella.
Descrizione Costo (dollari USA) L'addebito viene calcolato in base all'ora del cluster Varia a seconda dell'istanza, consulta i prezzi di Amazon EKS EC2 Istanza Amazon Paghi per ogni EC2 istanza Amazon creata. Per ulteriori informazioni sui prezzi, consulta la pagina EC2 dei prezzi di Amazon .
Prerequisiti
Questo tutorial utilizza AWS CloudShell una shell preautenticata basata su browser che si avvia direttamente da. AWS Management Console Ciò consente l'accesso al cluster una volta che non dispone più dell'accesso pubblico a Internet. AWS CLIkubectl
, e eksctl
potrebbe essere già installato come parte di AWS CloudShell. Per ulteriori informazioni su AWS CloudShell, consulta la Guida AWS CloudShell per l'utente. Un'alternativa AWS CloudShell è connettersi al VPC del cluster o a una rete connessa.
Per eseguire i comandi kubectl, è necessario l'accesso privato al cluster Amazon EKS. Ciò significa che tutto il traffico verso il server API del cluster deve provenire dal VPC del cluster o da una rete connessa.
-
AWS CLI— Uno strumento da riga di comando per lavorare con AWS i servizi, incluso Amazon EKS. Questa guida richiede l'utilizzo della versione 2.8.6 o successiva o 1.26.0 o successiva. Per ulteriori informazioni, vedere Installazione, aggiornamento e disinstallazione di nella Guida per l' AWS CLIutente.AWS Command Line Interface Dopo aver installato AWS CLI, ti consigliamo di configurarlo anche. Per ulteriori informazioni, vedere Configurazione rapida con
aws configure
nella Guida AWS Command Line Interface per l'utente. -
kubectl
: uno strumento a riga di comando per lavorare con i cluster Kubernetes. Questa guida richiede l'utilizzo della versione1.23
o successiva. Per ulteriori informazioni, consulta la pagina Installing or updatingkubectl
nella Guida per l'utente di Amazon EKS. -
— Uno strumento da riga di comando per lavorare con i cluster Amazon EKS che automatizza molte attività individuali. Questa guida richiede l'utilizzo della versioneeksctl
0.115.0
o successiva. Per ulteriori informazioni, consulta la pagina Installing or updatingeksctl
nella Guida per l'utente di Amazon EKS. -
Autorizzazioni: gli utenti che chiamano l'operazione CreateComputeEnvironmentAPI per creare un ambiente di calcolo che utilizza risorse Amazon EKS richiedono le autorizzazioni per il funzionamento dell'API
eks:DescribeCluster
andeks:ListClusters
. Puoi allegare la policy AWSBatchFullAccessgestita al tuo account utente seguendo le istruzioni Aggiungere e rimuovere le autorizzazioni di identità IAM nella Guida per l'utente IAM. -
InstanceRole— È necessario creare un account
InstanceRole
per i nodi Amazon EKS con leAmazonEC2ContainerRegistryPullOnly
policyAmazonEKSWorkerNodePolicy
e. Per istruzioni su come creare il ruolo IAM del nodo Amazon EKS,InstanceRole
vedi Creazione del ruolo IAM del nodo Amazon EKS. Avrai bisogno dell'ARN di.InstanceRole
-
Account AWS ID: devi conoscere il tuo Account AWS ID. Segui le istruzioni riportate in Visualizzazione del tuo Account AWS ID.
-
(Facoltativo) CloudWatch: per esaminare i dettagli di (Facoltativo) Invia un lavoro con modifiche, è necessario configurare la registrazione. Per ulteriori informazioni, consulta Usa CloudWatch Logs per monitorare i lavori AWS Batch su Amazon EKS.
Fase 1: Crea il tuo cluster EKS per AWS Batch
Importante
Per iniziare nel modo più semplice e veloce possibile, questo tutorial include passaggi con impostazioni predefinite. Prima di creare per l'uso in produzione, ti consigliamo di acquisire familiarità con tutte le impostazioni e di implementare le impostazioni che soddisfano i tuoi requisiti.
Ti consigliamo di utilizzare
il seguente file di configurazione per creare il cluster. Per configurare manualmente il cluster, segui le istruzioni in Distribuisci cluster privati con accesso limitato a Internet nella Amazon EKS User Guide.eksctl
-
Apri la AWS CloudShell console
e imposta la regione su. us-east-1
Per il resto del tutorial assicurati di utilizzarlous-east-1
. -
Crea un cluster EKS privato nella
us-east-1
regione utilizzando il file di
configurazione di esempio. Salva il file yaml nel tuo AWS CloudShell ambiente e assegnagli un nomeeksctl
clusterConfig.yaml
. Puoi cambiarlomy-test-cluster
con il nome che desideri usare per il tuo cluster.kind: ClusterConfig apiVersion: eksctl.io/v1alpha5 metadata: name:
my-test-cluster
region: us-east-1 availabilityZones: - us-east-1a - us-east-1b - us-east-1c managedNodeGroups: - name: ng-1 privateNetworking: true privateCluster: enabled: true skipEndpointCreation: false -
Crea le tue risorse usando il comando:.
eksctl create cluster -f clusterConfig.yaml
La creazione del cluster può richiedere dai 10 ai 15 minuti. -
Una volta completata la creazione del cluster, è necessario aggiungere il proprio indirizzo AWS CloudShell IP all'elenco degli indirizzi consentiti. Per trovare il tuo indirizzo AWS CloudShell IP esegui il seguente comando:
curl http://checkip.amazonaws.com
Una volta ottenuto l'indirizzo IP pubblico, devi creare una regola per l'elenco degli indirizzi consentiti:
aws eks update-cluster-config \ --name
my-test-cluster
\ --region us-east-1 \ --resources-vpc-config endpointPublicAccess=true,endpointPrivateAccess=true,publicAccessCidrs=["<Public IP>/32"]Quindi applica l'aggiornamento al file di configurazione kubectl:
aws eks update-kubeconfig --name
my-test-cluster
--region us-east-1 -
Per verificare di avere accesso ai nodi esegui il seguente comando:
kubectl get nodes
L'output del comando è:
NAME STATUS ROLES AGE VERSION ip-192-168-107-235.ec2.internal Ready none 1h v1.32.3-eks-473151a ip-192-168-165-40.ec2.internal Ready none 1h v1.32.3-eks-473151a ip-192-168-98-54.ec2.internal Ready none 1h v1.32.1-eks-5d632ec
Fase 2: Preparare il cluster EKS per AWS Batch
Tutti i passaggi sono obbligatori e devono essere eseguiti in AWS CloudShell.
-
Crea un namespace dedicato per i lavori AWS Batch
Utilizzare
kubectl
per creare un nuovo spazio dei nomi.$
namespace=
my-aws-batch-namespace
$
cat - <<EOF | kubectl create -f - { "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "${namespace}", "labels": { "name": "${namespace}" } } } EOF
Output:
namespace/my-aws-batch-namespace created
-
Abilita l'accesso tramite il controllo degli accessi basato sui ruoli (RBAC)
kubectl
Utilizzalo per creare un Kubernetes ruolo per il cluster che AWS Batch consenta di controllare nodi e pod e di associare il ruolo. È necessario eseguire questa operazione una volta per ogni cluster Amazon EKS.$
cat - <<EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name:
aws-batch-cluster-role
rules: - apiGroups: [""] resources: ["namespaces"] verbs: ["get"] - apiGroups: [""] resources: ["nodes"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["pods"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["list"] - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "list", "watch"] - apiGroups: ["apps"] resources: ["daemonsets", "deployments", "statefulsets", "replicasets"] verbs: ["get", "list", "watch"] - apiGroups: ["rbac.authorization.k8s.io"] resources: ["clusterroles", "clusterrolebindings"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name:aws-batch-cluster-role-binding
subjects: - kind: User name:aws-batch
apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name:aws-batch-cluster-role
apiGroup: rbac.authorization.k8s.io EOFOutput:
clusterrole.rbac.authorization.k8s.io/aws-batch-cluster-role created clusterrolebinding.rbac.authorization.k8s.io/aws-batch-cluster-role-binding created
Crea un Kubernetes ruolo con ambito namespace per la gestione e il ciclo AWS Batch di vita dei pod e associalo. È necessario eseguire questa operazione una volta per ogni namespace univoco.
$
namespace=
my-aws-batch-namespace
$
cat - <<EOF | kubectl apply -f - --namespace "${namespace}" apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name:
aws-batch-compute-environment-role
namespace: ${namespace} rules: - apiGroups: [""] resources: ["pods"] verbs: ["create", "get", "list", "watch", "delete", "patch"] - apiGroups: [""] resources: ["serviceaccounts"] verbs: ["get", "list"] - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name:aws-batch-compute-environment-role-binding
namespace: ${namespace} subjects: - kind: User name:aws-batch
apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name:aws-batch-compute-environment-role
apiGroup: rbac.authorization.k8s.io EOFOutput:
role.rbac.authorization.k8s.io/aws-batch-compute-environment-role created rolebinding.rbac.authorization.k8s.io/aws-batch-compute-environment-role-binding created
Aggiorna la mappa Kubernetes
aws-auth
di configurazione per mappare le autorizzazioni RBAC precedenti al ruolo collegato al servizio. AWS Batch$
eksctl create iamidentitymapping \ --cluster
my-test-cluster
\ --arn "arn:aws:iam::<your-account-ID>
:role/AWSServiceRoleForBatch" \ --usernameaws-batch
Output:
2022-10-25 20:19:57 [ℹ] adding identity "arn:aws:iam::
<your-account-ID>
:role/AWSServiceRoleForBatch" to auth ConfigMapNota
Il percorso
aws-service-role/batch.amazonaws.com/
è stato rimosso dall'ARN del ruolo collegato al servizio. Ciò è dovuto a un problema con laaws-auth
mappa di configurazione. Per ulteriori informazioni, consulta Ruoli con percorsi non funzionano quando il percorso è incluso nel relativo ARN in. aws-auth configmap
Fase 3: creare un ambiente di calcolo Amazon EKS
AWS Batch gli ambienti di calcolo definiscono i parametri delle risorse di calcolo per soddisfare le esigenze di carico di lavoro in batch. In un ambiente di elaborazione gestito, ti AWS Batch aiuta a gestire la capacità e i tipi di istanze delle risorse di calcolo (Kubernetesnodi) all'interno del tuo cluster Amazon EKS. Si basa sulla specifica delle risorse di calcolo che definisci al momento della creazione dell'ambiente di calcolo. È possibile utilizzare istanze EC2 On-Demand o Istanze Spot. EC2
Ora che il ruolo AWSServiceRoleForBatchcollegato al servizio ha accesso al tuo cluster Amazon EKS, puoi creare AWS Batch risorse. Innanzitutto, crea un ambiente di elaborazione che punti al tuo cluster Amazon EKS.
-
eksctl get cluster
Damy-test-cluster
subnets
eseguire per ottenere le sottoreti utilizzate dal cluster. -
Per il
securityGroupIds
parametro puoi utilizzare lo stesso gruppo di sicurezza del cluster Amazon EKS. Questo comando recupera l'ID del gruppo di sicurezza per il cluster.$
aws eks describe-cluster \ --name
my-test-cluster
\ --query cluster.resourcesVpcConfig.clusterSecurityGroupId -
Usa l'ARN che
instanceRole
hai creato nei Prerequisiti.
$
cat <<EOF > ./batch-eks-compute-environment.json { "computeEnvironmentName": "
My-Eks-CE1
", "type": "MANAGED", "state": "ENABLED", "eksConfiguration": { "eksClusterArn": "arn:aws:eks:us-east-1
::cluster/
<your-account-ID>
my-test-cluster
", "kubernetesNamespace": "my-aws-batch-namespace
" }, "computeResources": { "type": "EC2", "allocationStrategy": "BEST_FIT_PROGRESSIVE", "minvCpus": 0, "maxvCpus": 128, "instanceTypes": [ "m5" ], "subnets": [ "<eks-cluster-subnets-with-access-to-the-image-for-image-pull>
" ], "securityGroupIds": [ "<eks-cluster-sg>
" ], "instanceRole": "<eks-instance-profile>
" } } EOF
$
aws batch create-compute-environment --cli-input-json file://./batch-eks-compute-environment.json
Note
-
La manutenzione di un ambiente di calcolo Amazon EKS è una responsabilità condivisa. Per ulteriori informazioni, consulta la sezione Sicurezza in Amazon EKS.
Fase 4: Creare una coda di lavoro e collegare l'ambiente di elaborazione
Importante
È importante verificare che l'ambiente di elaborazione sia integro prima di procedere. L'operazione DescribeComputeEnvironmentsAPI può essere utilizzata per eseguire questa operazione.
$
aws batch describe-compute-environments --compute-environments
My-Eks-CE1
Conferma che il status
parametro non lo siaINVALID
. Se lo è, esamina il statusReason
parametro relativo alla causa. Per ulteriori informazioni, consulta Risoluzione dei problemi AWS Batch.
I lavori inviati a questa nuova coda di lavoro vengono eseguiti come pod su nodi AWS Batch gestiti che si sono uniti al cluster Amazon EKS associato al tuo ambiente di elaborazione.
$
cat <<EOF > ./batch-eks-job-queue.json { "jobQueueName": "
My-Eks-JQ1
", "priority": 10, "computeEnvironmentOrder": [ { "order": 1, "computeEnvironment": "My-Eks-CE1
" } ] } EOF
$
aws batch create-job-queue --cli-input-json file://./batch-eks-job-queue.json
Fase 5: creare un Amazon ECR con cache pull through
Poiché il cluster non dispone di accesso pubblico a Internet, è necessario creare un Amazon ECR per le immagini dei container. Le seguenti istruzioni creano un Amazon ECR con una regola di cache pull-through per archiviare l'immagine.
-
Il comando seguente crea la regola della cache pull-through. È possibile sostituirlo
tutorial-prefix
con un prefisso diverso.aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix "
my-prefix
" \ --upstream-registry-url "public.ecr.aws" \ --region us-east-1 -
Effettua l'autenticazione con l'ECR pubblico.
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin
<your-account-ID>
.dkr---ecr---us-east-1.amazonaws.com.rproxy.govskope.caOra puoi estrarre un'immagine.
docker pull
<your-account-ID>
.dkr.ecr.us-east-1.amazonaws.com/my-prefix
/amazonlinux/amazonlinux:2 -
È possibile verificare il repository e l'immagine eseguendo i seguenti comandi:
aws ecr describe-repositories
aws ecr describe-images --repository-name
my-prefix
/amazonlinux/amazonlinux -
La stringa di immagine da utilizzare per estrarre il contenitore è nel seguente formato:
<your-account-ID>
.dkr.ecr.us-east-1.amazonaws.com/my-prefix
/amazonlinux/amazonlinux:2
Fase 6: Registrare una definizione di lavoro
La seguente definizione di Job indica al pod di dormire per 60 secondi.
Nel campo immagine della definizione del processo, invece di fornire un collegamento all'immagine in un archivio ECR pubblico, inserisci il link all'immagine memorizzata nel nostro archivio ECR privato. Vedi la seguente definizione di processo di esempio:
$
cat <<EOF > ./batch-eks-job-definition.json { "jobDefinitionName": "
MyJobOnEks_Sleep
", "type": "container", "eksProperties": { "podProperties": { "hostNetwork": true, "containers": [ { "image": "<your-account-ID>
.dkr.ecr.us-east-1.amazonaws.com/my-prefix
/amazonlinux/amazonlinux:2", "command": [ "sleep", "60" ], "resources": { "limits": { "cpu": "1", "memory": "1024Mi" } } } ], "metadata": { "labels": { "environment": "test
" } } } } } EOF
$
aws batch register-job-definition --cli-input-json file://./batch-eks-job-definition.json
Note
-
Esistono considerazioni relative ai
memory
parametricpu
and. Per ulteriori informazioni, consulta Considerazioni su AWS Batch memoria e vCPU per Amazon EKS.
Fase 7: Inviare un lavoro da eseguire
Esegui il seguente AWS CLI comando AWS CloudShell per inviare un nuovo Job e restituisce l'unico JobID.
$
aws batch submit-job --job-queue
My-Eks-JQ1
\ --job-definitionMyJobOnEks_Sleep
- -job-nameMy-Eks-Job1
Note
-
Per ulteriori informazioni sull'esecuzione di processi sulle risorse di Amazon EKS, consultaOfferte di lavoro Amazon EKS.
Fase 8: Visualizza l'output del job
Per verificare lo stato di un Job:
$
aws batch describe-jobs --job
<JobID-from-submit-response>
I startedAt
due stoppedAt
dovrebbero trovarsi a un minuto di distanza l'uno dall'altro.
Fase 9: (Facoltativo) Inviare un'offerta di lavoro con modifiche
Questo lavoro sostituisce il comando passato al contenitore.
$
cat <<EOF > ./submit-job-override.json { "jobName": "
EksWithOverrides
", "jobQueue": "My-Eks-JQ1
", "jobDefinition": "MyJobOnEks_Sleep
", "eksPropertiesOverride": { "podProperties": { "containers": [ { "command": [ "/bin/sh" ], "args": [ "-c", "echo hello world" ] } ] } } } EOF
$
aws batch submit-job - -cli-input-json file://./submit-job-override.json
Note
-
Per una migliore visibilità dei dettagli delle operazioni, abilita la registrazione del piano di controllo di Amazon EKS. Per ulteriori informazioni, consulta la registrazione del piano di controllo di Amazon EKS nella Guida per l'utente di Amazon EKS.
-
Daemonsetse il kubelets sovraccarico influisce sulle risorse di vCPU e memoria disponibili, in particolare sulla scalabilità e sul posizionamento lavorativo. Per ulteriori informazioni, consulta Considerazioni su AWS Batch memoria e vCPU per Amazon EKS.
Passaggio 10: ripulisci le risorse del tutorial
Ti viene addebitato il costo dell' EC2 istanza Amazon mentre è abilitata. Puoi eliminare l'istanza per evitare di incorrere in addebiti.
Per eliminare le risorse che hai creato, procedi come segue:
-
Apri la AWS Batch console all'indirizzo https://console.aws.amazon.com/batch/
. -
Nel riquadro di navigazione scegli Job queue.
-
Nella tabella Job queue scegli la coda Job che hai creato per il tutorial.
-
Da Azioni scegli Disabilita. Una volta che lo stato della coda Job è disabilitato, puoi scegliere Elimina.
-
Una volta eliminata la coda Job, nel pannello di navigazione scegli Ambienti di calcolo.
-
Scegli l'ambiente di calcolo che hai creato per questo tutorial, quindi scegli Disabilita dalle azioni. Potrebbero essere necessari 1-2 minuti per completare la disattivazione dell'ambiente di calcolo.
-
Una volta che lo stato dell'ambiente di calcolo è disabilitato, scegli Elimina. Potrebbero essere necessari 1-2 minuti per eliminare l'ambiente di calcolo.
Risorse aggiuntive
Dopo aver completato il tutorial, potresti voler esplorare i seguenti argomenti:
-
Scopri di più sulle best practice.
-
Esplora i componenti AWS Batch principali. Per ulteriori informazioni, consulta Componenti di AWS Batch.
-
Scopri di più sui diversi ambienti di elaborazione disponibili in AWS Batch.
-
Scopri di più sulle Job queues e sulle loro diverse opzioni di pianificazione.
-
Scopri di più sulle definizioni di Job e sulle diverse opzioni di configurazione.
-
Scopri di più sui diversi tipi di lavori.
Risoluzione dei problemi
Se i nodi avviati da AWS Batch non hanno accesso al repository Amazon ECR (o a qualsiasi altro repository) che memorizza l'immagine, i lavori potrebbero rimanere nello stato STARTING. Questo perché il pod non sarà in grado di scaricare l'immagine ed eseguire il processo. AWS Batch Se fai clic sul nome del pod lanciato da, AWS Batch dovresti essere in grado di vedere il messaggio di errore e confermare il problema. Il messaggio di errore dovrebbe essere simile al seguente:
Failed to pull image "public.ecr.aws/amazonlinux/amazonlinux:2": rpc error: code = Unknown desc = failed to pull and unpack image "public.ecr.aws/amazonlinux/amazonlinux:2": failed to resolve reference "public.ecr.aws/amazonlinux/amazonlinux:2": failed to do request: Head "https://public.ecr.aws/v2/amazonlinux/amazonlinux/manifests/2": dial tcp: i/o timeout
Per altri scenari di risoluzione dei problemi comuni, consulta Risoluzione dei problemi AWS Batch. Per la risoluzione dei problemi in base allo stato del pod, vedi Come posso risolvere lo stato del pod in Amazon EKS