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

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

  1. Avvia i nuovi contenitori di applicazioni mantenendo attivi i contenitori esistenti.

  2. Verifica che i nuovi contenitori siano integri.

  3. Fermate i vecchi contenitori.

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

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

  • minimumHealthyPercent: 100% (impostazione predefinita)

    Il limite inferiore al numero di attività del servizio che devono rimanere RUNNING invariate durante una distribuzione. Si tratta di una percentuale dell'desiredCountarrotondato al numero intero più vicino. Questo parametro consente di eseguire la distribuzione senza utilizzare capacità aggiuntiva del cluster.

  • maximumPercent: 200% (impostazione predefinita)

    Il limite massimo al numero di attività del servizio consentite PENDING nello stato RUNNING o durante una distribuzione. Si tratta di una percentuale del numero desiredCount arrotondato per difetto al numero intero più vicino.

Esempio: opzioni di configurazione predefinite

Prendiamo in considerazione il seguente servizio con sei attività, distribuito in un cluster che può ospitare otto attività in totale. Le opzioni di configurazione del servizio predefinite non consentono alla distribuzione di superare il 100% delle sei attività desiderate.

Il processo di distribuzione è il seguente:

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

  2. L'utilità di pianificazione 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. Lo scheduler interrompe due delle attività esistenti.

    Ora ci sono quattro attività esistenti e due nuove.

  4. Lo scheduler avvia due nuove attività aggiuntive.

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

  5. L'utilità di pianificazione chiude due delle attività esistenti.

    Ora ci sono due attività esistenti e quattro nuove.

  6. Lo scheduler avvia due nuove attività aggiuntive.

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

  7. Lo scheduler chiude 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 sistema di bilanciamento del carico potrebbe dover attendere 5 minuti prima che la vecchia attività si interrompa.

Esempio: Modifica minimumHealthyPercent

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

Prendiamo in considerazione il seguente servizio con sei attività, distribuito in un cluster che può ospitare otto attività in totale. Il processo di distribuzione è il seguente:

  1. L'obiettivo è sostituire sei attività.

  2. Lo scheduler interrompe tre delle attività esistenti.

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

  3. Lo scheduler avvia cinque nuove attività.

    Esistono tre attività esistenti e cinque nuove attività.

  4. L'utilità di pianificazione interrompe le tre attività esistenti rimanenti.

    Sono presenti cinque nuove attività

  5. Lo scheduler avvia le nuove attività finali.

    Sono disponibili 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à, distribuito in un cluster che può ospitare dieci attività in totale. Il processo di distribuzione è il seguente:

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

  2. Lo scheduler interrompe tre delle attività esistenti,

    Esistono tre attività esistenti.

  3. Lo scheduler avvia sei nuove attività.

    Ci sono le attività esistenti e sei nuove attività

  4. Lo scheduler interrompe le tre attività esistenti.

    Sono disponibili sei nuove attività.

Raccomandazioni

Utilizza 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%