Implementa ECS i servizi Amazon sostituendo le attività - Amazon Elastic Container Service

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à.

Implementa ECS i servizi Amazon sostituendo le attività

Quando crei un servizio che utilizza il tipo di distribuzione rolling update (ECS), Amazon ECS service scheduler sostituisce le attività attualmente 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. La configurazione di implementazione comprende:

  • La minimumHealthyPercent rappresenta il limite inferiore del numero di processi che devono essere in esecuzione per un servizio durante un'implementazione o quando un'istanza di container è in fase di svuotamento, come percentuale del numero desiderato di processi 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.

    Se le attività non funzionano correttamente, lo strumento di pianificazione dei ECS servizi Amazon avvierà prima le attività sostitutive e le manterrà finché minimumHealthyPercent le attività sostitutive non diventeranno funzionanti. Man mano che le attività sostitutive vengono avviate e diventano corrette, le attività non salutari verranno gradualmente interrotte.

  • La maximumPercent rappresenta il limite superiore del numero di processi che devono essere in esecuzione per un servizio durante un'implementazione o quando un'istanza di container è in fase di svuotamento, come percentuale del numero desiderato di processi per il servizio. Questo valore viene arrotondato per difetto. Ad esempio, se la percentuale massima è 200 e il numero di processi desiderato è quattro, il pianificatore può avviare quattro nuovi processi prima di avviare arrestare i quattro processi esistenti. Allo stesso modo, se la percentuale di integrità massima è 125 e il numero di processi desiderato è tre, il pianificatore non può interrompere alcun processo a causa del valore risultante che è esso stesso tre.

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 distribuzione non valida, verrà inviato un messaggio di evento del servizio. Per ulteriori informazioni, consulta servizio (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 maximumPercent valore minimumHealthyPercent o e riprova..

Un'implementazione in sequenza utilizza l'interruttore di implementazione per determinare se le attività raggiungono uno stato stazionario. L'interruttore di implementazione può facoltativamente eseguire il rollback di un'implementazione in caso di errore.

Risoluzione dell'immagine del contenitore

Per garantire che tutte le attività di un servizio utilizzino la stessa immagine del contenitore, Amazon ECS risolve i nomi delle immagini dei contenitori e tutti i tag di immagine specificati nella definizione dell'attività in digest di immagini del contenitore. Se crei un servizio che esegue e gestisce una singola attività, tale attività viene utilizzata per stabilire il container image digest. Se si crea un servizio che esegue e gestisce più attività, il service scheduler avvia prima un'attività durante la distribuzione. Questa prima attività viene utilizzata per stabilire il container image digest.

Dopo aver stabilito il container image digest, Amazon ECS utilizza il digest per avviare qualsiasi altra attività desiderata e per eventuali futuri aggiornamenti del servizio. Ciò comporta che tutte le attività di un servizio eseguano sempre immagini di container identiche, con conseguente coerenza delle versioni del software.

Se tre o più tentativi di stabilire il Container Image Digest falliscono, la distribuzione continua senza la risoluzione dell'Image Digest. Se l'interruttore di distribuzione è abilitato, la distribuzione viene inoltre fallita e ripristinata.

La versione minima della piattaforma Fargate Linux per la risoluzione dell'image digest è. 1.3.0 La versione minima della piattaforma Fargate Windows per la risoluzione di Image Digest è. 1.0.0

Le versioni di Amazon ECS Agent precedenti a 1.31.0 non supportano la risoluzione Image Digest. Versioni Agent 1.31.0 che 1.69.0 supportano la risoluzione Image Digest solo per le immagini inviate ai repository AmazonECR. Le versioni Agent 1.70.0 o successive supportano la risoluzione Image Digest per tutte le immagini.

Nota
  • Amazon ECS non acquisisce digest di contenitori sidecar gestiti da AmazonECS, 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 Amazon ECS Agent 1.83.0 o superiore sulle istanze del EC2 contenitore. Per evitare del tutto la potenziale latenza, specifica i digest delle immagini del contenitore nella definizione dell'attività.

  • Se crei un servizio con un numero di attività desiderato pari a zero, Amazon non ECS può stabilire un container digest finché non attivi un'altra distribuzione del servizio con un numero di attività desiderato maggiore di zero.

  • Per stabilire un image digest aggiornato, puoi forzare una nuova distribuzione. Questo digest aggiornato verrà utilizzato per avviare nuove attività e non influirà sulle attività già in esecuzione. Per ulteriori informazioni su come forzare nuove distribuzioni, consulta la pagina di riferimento forceNewDeploymentdi Amazon ECS API.

Rilevamento degli errori

Esistono due metodi che forniscono un sistema per identificare rapidamente quando un'implementazione non è riuscita e quindi, facoltativamente, per eseguire il rollback dell'esito negativo per ripristinare l'ultima implementazione funzionante.

I metodi possono essere utilizzati separatamente o insieme. Quando vengono utilizzati entrambi i metodi, la distribuzione 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.