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à.
Determina lo stato delle attività di Amazon ECS utilizzando i controlli dello stato dei container
Quando creai la definizione di un processo, puoi configurare un controllo dell'integrità per i container. I controlli dell'integrità sono comandi che vengono eseguiti localmente su un container e convalidano lo stato e la disponibilità delle applicazioni.
L'agente del container Amazon ECS monitora (e invia i report correlati) solo i controlli dell'integrità specificati nella definizione di attività. Amazon ECS non monitora i controlli dell'integrità di Docker incorporati in un'immagine del container e non specificati nella definizione del container. I parametri di controllo dello stato specificati in una definizione del container sostituiscono qualsiasi controllo dell'integrità Docker presente nell'immagine del container.
Quando un controllo dell'integrità è definito in una definizione di attività, il container esegue il processo di controllo dell'integrità all'interno del container, quindi valuta il codice di uscita per determinare lo stato dell'applicazione.
Il controllo dell'integrità comprende i seguenti parametri:
-
Comando: il comando eseguito dal container per determinare l'integrità. La matrice di stringhe può iniziare con
CMDper eseguire direttamente gli argomenti del comando oppure conCMD-SHELLper eseguire il comando con la shell predefinita del container. UtilizzaCMD-SHELLquando hai bisogno di funzionalità della shell come pipe, reindirizzamenti, concatenazione di comandi o espansione delle variabili di ambiente. Ad esempio,CMD-SHELLconsente di utilizzare comandi comecurl -f http://localhost/ || exit 1nel punto in cui la shell interpreta l'operatore||. UtilizzaCMDper comandi semplici che non richiedono l'interpretazione della shell. -
Intervallo: periodo di tempo (in secondi) tra ogni controllo dell'integrità.
-
Timeout: periodo di tempo (in secondi) per cui attendere che un controllo dell'integrità venga superato prima di considerarlo un errore.
-
Tentativi: il numero di volte in cui riprovare un controllo dell'integrità non riuscito prima che il container venga considerato non integro.
-
Periodo di inizio: periodo di tolleranza facoltativo entro il quale concedere ai container il tempo necessario per il bootstrap prima che i controlli dell'integrità non riusciti vengano conteggiati rispetto al numero massimo di nuovi tentativi.
Se un controllo dello stato va a buon fine all'interno di
startPeriod, il container è considerato integro e gli errori successivi vengono conteggiati rispetto al numero massimo di nuovi tentativi.
Per informazioni su come specificare un controllo dell'integrità nella definizione di un processo, consulta Health check.
Di seguito vengono descritti i valori dello stato di integrità possibili per un container:
-
HEALTHY: il controllo dell'integrità del container è stato superato correttamente. -
UNHEALTHY: il controllo dell'integrità del container non è andato a buon fine. -
UNKNOWN: il controllo dell'integrità del container è in fase di valutazione, non è stato definito alcun controllo dell'integrità o Amazon ECS non dispone dello stato di integrità del container.
I comandi per il controllo dell'integrità vengono eseguiti nel container. Pertanto, è necessario includere i comandi nell'immagine del container.
Il controllo dell'integrità si connette all'applicazione tramite l'interfaccia di loopback del container all'indirizzo localhost o 127.0.0.1. Il codice di uscita 0 indica che il processo ha avuto esito positivo, mentre un codice di uscita diverso da zero indica che ha avuto esito negativo.
Quando utilizzi i controlli dell'integrità del container, considera quanto segue:
-
I controlli dello stato del container richiedono la versione 1.17.0 o successiva dell'agente del container Amazon ECS.
-
I controlli dell'integrità dei container sono supportati per le attività Fargate se utilizzi una piattaforma Linux versione
1.1.0o successiva o una piattaforma Windows versione1.1.0o successiva.
In che modo Amazon ECS determina lo stato delle attività
I container essenziali e con il comando per il controllo dell'integrità nella definizione dell'attività sono gli unici considerati per determinare lo stato dell'attività.
Le seguenti regole sono valutate in ordine:
-
Se lo stato di un container essenziale è
UNHEALTHY, lo stato dell'attività èUNHEALTHY. -
Se lo stato di un container essenziale è
UNKNOWN, lo stato dell'attività èUNKNOWN. -
Se lo stato di tutti i container essenziali è
HEALTHY, lo stato dell'attività èHEALTHY.
Considera il seguente esempio di integrità di un'attività con 2 container essenziali.
| Integrità del container 1 | Integrità del container 2 | Integrità delle attività |
|---|---|---|
UNHEALTHY |
UNKNOWN |
UNHEALTHY |
UNHEALTHY |
HEALTHY |
UNHEALTHY |
HEALTHY |
UNKNOWN |
UNKNOWN |
HEALTHY |
HEALTHY |
HEALTHY |
Considera il seguente esempio di integrità di un'attività con 3 container.
| Integrità del container 1 | Integrità del container 2 | Integrità del container 3 | Integrità delle attività |
|---|---|---|---|
UNHEALTHY |
UNKNOWN |
UNKNOWN |
UNHEALTHY |
UNHEALTHY |
UNKNOWN |
HEALTHY |
UNHEALTHY |
UNHEALTHY |
HEALTHY |
HEALTHY |
UNHEALTHY |
HEALTHY |
UNKNOWN |
HEALTHY |
UNKNOWN |
HEALTHY |
UNKNOWN |
UNKNOWN |
UNKNOWN |
HEALTHY |
HEALTHY |
HEALTHY |
HEALTHY |
In che modo il controllo dell'integrità viene influenzato dalle disconnessioni degli agenti
Se l'agente del container Amazon ECS si disconnette dal servizio Amazon ECS, non causerà la transizione di un container a uno stato UNHEALTHY. Infatti, è stato progettato per garantire che i container rimangano in funzione durante il riavvio degli agenti o la temporanea indisponibilità. Lo stato del controllo dell'integrità è l'ultima risposta ricevuta dall'agente Amazon ECS, quindi se il container è stato considerato HEALTHY prima della disconnessione, tale stato rimarrà invariato fino alla riconnessione dell'agente e all'esecuzione di un altro controllo dell'integrità. Non ci sono ipotesi sullo stato dei controlli dell'integrità del container.