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à.
Distribuisci i servizi Amazon ECS sostituendo le attività
Quando viene creato un servizio che utilizza il tipo di implementazione con aggiornamento in sequenza (ECS), il pianificatore del servizio Amazon ECS sostituisce le attività correntemente in esecuzione con nuove attività. Il numero di attività che Amazon ECS aggiunge o rimuove dal servizio durante un aggiornamento continuo è controllato dalla configurazione di distribuzione del servizio.
Amazon ECS utilizza i seguenti parametri per determinare il numero di attività:
-
minimumHealthyPercentRappresenta il limite inferiore al numero di attività che dovrebbero essere in esecuzione e funzionanti per un servizio durante una distribuzione continua o quando un'istanza del contenitore si sta esaurendo, come percentuale del numero desiderato di attività per il servizio. Questo valore viene arrotondato per eccesso. Ad esempio, se la percentuale minima di integrità è50, il numero di processi desiderato è quattro, il pianificatore può interrompere due processi esistenti prima di avviare due nuovi processi. Allo stesso modo, se la percentuale di integrità minima è 75% e il numero di processi desiderato è due, il pianificatore non può interrompere alcun processo a causa del valore risultante che è anche due. -
maximumPercentRappresenta il limite massimo al numero di attività che devono essere eseguite per un servizio durante una distribuzione continua o quando un'istanza del contenitore si sta esaurendo, come percentuale del numero desiderato di attività per un servizio. Questo valore viene arrotondato per difetto. Ad esempio, se la percentuale massima è200e il numero di attività desiderato è quattro, lo scheduler può avviare quattro nuove attività prima di interrompere quattro attività esistenti. Allo stesso modo, se la percentuale di integrità massima è125e il numero di processi desiderato è tre, il pianificatore non può interrompere alcun processo a causa del valore risultante che è esso stesso tre.
Durante una distribuzione continua, quando le attività non funzionano correttamente, Amazon ECS le sostituisce per mantenere il servizio minimumHealthyPercent e proteggere la disponibilità. Le attività non corrette vengono sostituite utilizzando la stessa revisione del servizio a cui appartengono. Ciò garantisce che la sostituzione di attività non corrette nella revisione di origine sia indipendente dagli errori delle attività nella revisione di destinazione. Quando l'maximumPercentimpostazione lo consente, lo scheduler avvia le attività sostitutive prima di interrompere quelle non sane. Se il maximumPercent parametro impedisce allo scheduler di avviare prima un'attività sostitutiva, lo scheduler interrompe un'attività non integra alla volta per liberare capacità prima di avviare un'attività sostitutiva.
Importante
Quando si imposta una percentuale di integrità minima o massima, è necessario assicurarsi che lo scheduler possa arrestare o avviare almeno un'attività quando viene attivata un'implementazione. Se il servizio dispone di un'implementazione bloccata a causa di una configurazione di implementazione non valida, verrà inviato un messaggio di evento del servizio. Per ulteriori informazioni, consultare service (service-name) non è stato in grado di interrompere o avviare le attività durante una distribuzione a causa della configurazione della distribuzione del servizio. Aggiorna il valore minimumHealthyPercent o MaximumPercent e riprova..
Le implementazioni in sequenza dispongono di 2 metodi che forniscono un sistema per identificare rapidamente quando un'implementazione di servizi ha avuto esito negativo:
I metodi possono essere utilizzati separatamente o insieme. Quando si utilizzano entrambi i metodi, l'implementazione viene impostata come non riuscita non appena vengono soddisfatti i criteri di errore per entrambi i metodi di errore.
Utilizza le seguenti linee guida per determinare quale metodo usare:
-
Interruttore: utilizza questo metodo quando desideri interrompere un'implementazione quando le attività non possono essere avviate.
-
CloudWatch allarmi: utilizzate questo metodo quando desiderate interrompere una distribuzione in base ai parametri dell'applicazione.
Entrambi i metodi supportano il rollback alla revisione del servizio precedente.
Risoluzione dell’immagine del container
Per impostazione predefinita, Amazon ECS risolve i tag di immagine dei container specificati nella definizione dell'attività in digest delle immagini del container. Se si crea un servizio che esegue e gestisce una singola attività, tale attività viene utilizzata per stabilire digest di immagini per i container inclusi nell'operazione. Se viene creato un servizio che esegue e gestisce più attività, la prima attività avviata dal pianificatore di servizi durante l'implementazione viene utilizzata per stabilire i digest delle immagini per i container nelle attività.
Se tre o più tentativi di stabilire i digest delle immagini dei container hanno esito negativo, l'implementazione continua senza la risoluzione dei digest delle immagini. Se l'interruttore automatico di implementazione è abilitato, quest'ultima ha esito negativo e viene sottoposta a rollback.
Dopo aver stabilito i digest delle immagini del container, Amazon ECS utilizza i digest per avviare qualsiasi altra attività desiderata e per eventuali futuri aggiornamenti del servizio. Ciò comporta che tutte le attività di un servizio eseguono sempre immagini di container identiche, con conseguente coerenza delle versioni del software.
È possibile configurare questo comportamento per ogni container nell'attività utilizzando il parametro versionConsistency nella definizione del container. Per ulteriori informazioni, consultare versionConsistency.
Nota
-
Le versioni di Amazon ECS Agent precedenti a
1.31.0non supportano la risoluzione del digest delle immagini. Le versioni Agent da1.31.0a1.69.0supportano la risoluzione del digest delle immagini solo per le immagini inviate ai repository Amazon ECR. Le versioni Agent1.70.0o successive supportano la risoluzione del digest delle immagini per tutte le immagini. -
La versione della piattaforma minima di Fargate Linux per la risoluzione del digest delle immagini è
1.3.0. La versione della piattaforma minima di Fargate Windows per la risoluzione del digest delle immagini è1.0.0. -
Amazon ECS non acquisisce digest di container sidecar gestiti da Amazon ECS, come l'agente di GuardDuty sicurezza Amazon o il proxy Service Connect.
-
Per ridurre la potenziale latenza associata alla risoluzione delle immagini dei container nei servizi con più attività, esegui la versione dell'agente Amazon ECS
1.83.0o superiore sulle istanze di EC2 container. Per evitare una potenziale latenza, specificare i digest delle immagini del container nella definizione dell'attività. -
Se viene creato un servizio con un numero di attività desiderate pari a zero, Amazon ECS non può stabilire i digest dei container finché non si attiva un'altra implementazione del servizio con un numero di attività desiderate maggiore di zero.
-
Per stabilire digest di immagini aggiornati, è possibile forzare una nuova implementazione. I digest aggiornati verranno utilizzati per avviare nuove attività e non influiranno sulle attività già in esecuzione. Per ulteriori informazioni su come forzare nuove distribuzioni, consulta il riferimento alle forceNewDeploymentAPI di Amazon ECS.
-
Quando si utilizzano fornitori di EC2 capacità, se la capacità di avvio di un'attività non è sufficiente durante la distribuzione iniziale, la coerenza della versione del software potrebbe fallire. Per garantire la coerenza delle versioni anche in caso di capacità limitata, impostare esplicitamente
versionConsistency: "enabled"nella configurazione del container di definizione delle attività anziché fare affidamento sul comportamento predefinito. Ciò fa sì che Amazon ECS attenda che la capacità diventi disponibile prima di procedere con l'implementazione.