Best practice per i parametri del servizio di Amazon ECS - 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à.

Best practice per i parametri del servizio di Amazon ECS

Per garantire che non si verifichino tempi di inattività delle applicazioni, il processo di implementazione è il seguente:

  1. Avviare i nuovi container di applicazioni mantenendo attivi quelli esistenti.

  2. Verificare che i nuovi container siano integri.

  3. Arrestare i vecchi container.

A seconda della configurazione di implementazione e della quantità di spazio libero e non riservato nel cluster, potrebbero essere necessari più cicli per completare la procedura per sostituire tutte le vecchie attività con nuove attività.

Vi sono due opzioni di configurazione del servizio che è possibile utilizzare per modificare il numero:

  • minimumHealthyPercent: 100% (impostazione predefinita)

    Il limite inferiore sul numero di attività per cui il servizio deve rimanere nello stato RUNNING durante un'implementazione. Si tratta di una percentuale del desiredCount arrotondata per eccesso al valore intero più vicino. Questo parametro consente di eseguire l'implementazione senza utilizzare la capacità aggiuntiva del cluster.

  • maximumPercent: 200% (impostazione predefinita)

    Il limite superiore sul numero di attività per il servizio che sono consentite nello stato RUNNING o PENDING durante un'implementazione. Si tratta di una percentuale del desiredCount arrotondata per difetto al valore intero più vicino.

Esempio: opzioni di configurazione predefinite

Prendiamo in considerazione il seguente servizio con sei attività, implementato in un cluster che può ospitare otto attività in totale. Le opzioni di configurazione predefinite del servizio non consentono all'implementazione di scendere al di sotto del 100% delle sei attività desiderate.

Di seguito è riportato il procedimento di implementazione:

  1. L'obiettivo è sostituire le sei attività.

  2. Il pianificatore avvia due nuove attività perché le impostazioni predefinite richiedono che vi siano sei attività in esecuzione.

    Ora ci sono sei attività esistenti e due nuove attività.

  3. Il pianificatore interrompe due delle attività esistenti.

    Ora ci sono quattro attività esistenti e due nuove attività.

  4. Il pianificatore avvia due nuove attività aggiuntive.

    Ora ci sono quattro attività esistenti e quattro nuove attività.

  5. Il pianificatore arresta due delle attività esistenti.

    Ora ci sono due attività esistenti e quattro attività nuove.

  6. Il pianificatore avvia due nuove attività aggiuntive.

    Ora ci sono due attività esistenti e sei nuove attività.

  7. Il pianificatore arresta le ultime due attività esistenti.

    Ora ci sono sei nuove attività.

Nell'esempio precedente, se si utilizzano i valori predefiniti per le opzioni, c'è un'attesa di 2,5 minuti per ogni nuova attività che inizia. Inoltre, il bilanciatore del carico potrebbe dover attendere 5 minuti prima che la vecchia attività si interrompa.

Esempio: Modifica minimumHealthyPercent

È possibile velocizzare l'implementazione impostando il valore minimumHealthyPercent al 50%.

Prendiamo in considerazione il seguente servizio con sei attività, implementato in un cluster che può ospitare otto attività in totale. Di seguito è riportato il procedimento di implementazione:

  1. L'obiettivo è sostituire sei attività.

  2. Il pianificatore interrompe tre delle attività esistenti.

    Sono ancora in esecuzione tre attività esistenti che soddisfano il valore minimumHealthyPercent.

  3. Il pianificatore avvia cinque nuove attività.

    Ci sono tre attività esistenti e cinque nuove attività.

  4. Il pianificatore interrompe tre attività esistenti rimanenti.

    Ci sono cinque nuove attività

  5. Il pianificatore avvia le nuove attività finali.

    Ci sono sei nuove attività.

Esempio: modificare lo spazio libero del cluster

È inoltre possibile aggiungere altro spazio libero in modo da poter eseguire attività aggiuntive.

Prendiamo in considerazione il seguente servizio con sei attività, implementato in un cluster che può ospitare dieci attività in totale. Di seguito è riportato il procedimento di implementazione:

  1. L'obiettivo è sostituire le attività esistenti.

  2. Il pianificatore interrompe tre delle attività esistenti.

    Ci sono tre attività esistenti.

  3. Il pianificatore avvia sei nuove attività.

    Ci sono attività esistenti e sei nuove attività

  4. Il pianificatore interrompe le tre attività esistenti.

    Ci sono sei nuove attività.

Raccomandazioni

Utilizzare i seguenti valori per le opzioni di configurazione del servizio quando le attività sono inattive da qualche tempo e non hanno un tasso di utilizzo elevato.

  • minimumHealthyPercent: 50%

  • maximumPercent: 200%