Implementare i gruppi di contenitori

Completato

La risorsa di primo livello in Istanze di Azure Container è il gruppo di contenitori. Un gruppo di contenitori è una raccolta di contenitori che vengono pianificati nello stesso computer host. I contenitori in un gruppo di contenitori condividono un ciclo di vita, le risorse, la rete locale e i volumi di archiviazione.

Informazioni sui gruppi di contenitori

Esaminiamo alcuni dettagli sui gruppi di contenitori per Istanze di Azure Container.

  • Un gruppo di contenitori è simile a un pod in Kubernetes. Un pod solitamente corrisponde a un contenitore in una relazione 1:1, tuttavia, un pod può ospitare più contenitori. I contenitori in un pod multi-contenitore possono condividere risorse correlate.

  • Istanze di Azure Container alloca le risorse a un gruppo multi-contenitore sommando le richieste di risorse di tutti i contenitori presenti nel gruppo. Le risorse possono includere elementi quali CPU, memoria e GPU.

    Prendere in considerazione un gruppo di contenitori con due contenitori che richiedono risorse CPU. Ogni contenitore richiede una CPU. Istanze di Azure Container alloca due CPU per il gruppo di contenitori.

  • Esistono due modi comuni per distribuire un gruppo multi-contenitore: modelli di ARM (Azure Resource Manager) e file YAML.

    • Modello di ARM. È consigliato usare un modello di ARM per distribuire altre risorse del servizio di Azure al momento della distribuzione delle istanze del container, come ad esempio una condivisione file di File di Azure.

    • File YAML. Data la natura concisa del formato YAML, è consigliato utilizzare un file YAML quando la distribuzione riguarda esclusivamente istanze di contenitori.

  • I gruppi di contenitori possono condividere un indirizzo IP esterno, una o più porte sull'indirizzo IP e un'etichetta DNS con un nome di dominio completo (FQDN).

    • Accesso client esterno. Per permettere ai client esterni di accedere a un contenitore nel gruppo, è essenziale esporre la porta sull'indirizzo IP e sul contenitore stesso.

    • Mapping delle porte. Il mapping delle porte non è supportato perché i contenitori in un gruppo condividono uno spazio dei nomi delle porte.

    • Gruppi eliminati. Quando si elimina un gruppo di contenitori, l'indirizzo IP e il nome di dominio completo vengono rilasciati.

Esempio di configurazione

Esaminare l'esempio seguente di un gruppo multi-contenitore con due contenitori.

Diagram that depicts an Azure Container Instances multi-container group that has two containers.

Il gruppo multi-contenitore presenta le seguenti caratteristiche e configurazione:

  • Il gruppo di contenitori è pianificato su un singolo computer host e gli viene assegnata un'etichetta di nome DNS.
  • Il gruppo di contenitore espone un singolo indirizzo IP pubblico, con una porta esposta.
  • Un contenitore del gruppo è in ascolto sulla porta 80. L'altro contenitore è in ascolto sulla porta 1433.
  • Il gruppo comprende due condivisioni di file di File di Azure, utilizzate come montaggi del volume. Ogni contenitore del gruppo monta una delle condivisioni file in locale.

Aspetti da considerare quando si usano i gruppi di contenitori

I gruppi multi-contenitore sono utili quando si vuole suddividere una singola attività funzionale in un numero limitato di immagini di contenitore. Le immagini possono essere distribuite da team diversi e hanno requisiti di risorse distinti.

Considerare i seguenti scenari per l'utilizzo di gruppi multi-contenitore. Valutare le opzioni che possano supportare le app interne per i rivenditori online.

  • Prendere in considerazione gli aggiornamenti delle app Web. Supportare gli aggiornamenti alle app Web implementando un gruppo multi-contenitore. Un contenitore nel gruppo serve l'app Web e un altro esegue il pull del contenuto più recente dal controllo del codice sorgente.

  • Prendere in considerazione la raccolta dei dati di log. Usare un gruppo multi-contenitore per acquisire dati di registrazione e metriche sull'app. Il contenitore dell'applicazione restituisce i log e le metriche. Un contenitore di registrazione raccoglie i dati di output e scrive i dati nell'archiviazione a lungo termine.

  • Prendere in considerazione il monitoraggio delle app. Abilitare il monitoraggio per l'app con un gruppo multi-contenitore. Un contenitore di monitoraggio effettua periodicamente una richiesta al contenitore dell'applicazione per assicurarsi che l'app sia in esecuzione e risponda correttamente. Il contenitore di monitoraggio genera un avviso se identifica possibili problemi con l'app.

  • Prendere in considerazione il supporto front-end e back-end. Creare un gruppo multi-contenitore per contenere il contenitore front-end e quello back-end. Il contenitore front-end può servire un'app Web. Il contenitore back-end può eseguire un servizio per recuperare i dati.