Esplorare Istanze di Azure Container
Istanze di Azure Container è un'ottima soluzione per qualsiasi scenario e funziona anche in contenitori isolati, inclusi i processi di compilazione, l'automazione di attività e le applicazioni semplici. Di seguito vengono illustrati alcuni vantaggi:
- Avvio rapido: ACI può avviare i contenitori in Azure in pochi secondi, senza la necessità di creare e gestire una macchina virtuale
- Accesso al contenitore: ACI consente di esporre i gruppi di contenitori direttamente a Internet con un indirizzo IP e un nome di dominio completo (FQDN)
- Sicurezza a livello di hypervisor: isolare l'applicazione completamente come in una macchina virtuale
- Dati del cliente: il servizio ACI archivia i dati minimi dei clienti necessari per assicurarsi che i gruppi di contenitori siano in esecuzione come previsto
- Dimensioni personalizzate: ACI offre un utilizzo ottimale consentendo specifiche esatte di core CPU e memoria
- Archiviazione persistente: montare le condivisioni di File di Azure direttamente in un contenitore per recuperare e salvare in modo permanente lo stato
- Linux e Windows: pianificare contenitori Windows e Linux usando la stessa API.
Per gli scenari in cui è necessaria l'orchestrazione completa dei contenitori, tra cui l'individuazione dei servizi in più contenitori, il ridimensionamento automatico e gli aggiornamenti coordinati delle applicazioni, è consigliabile usare il servizio Azure Kubernetes.
Gruppi di contenitori
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, risorse, rete locale e volumi di archiviazione. È simile al concetto di pod in Kubernetes.
Il diagramma seguente mostra un esempio di un gruppo che include più contenitori:
Questo gruppo di contenitori di esempio:
- Viene pianificato in un singolo computer host.
- Ha un'etichetta di nome DNS assegnata.
- Espone un singolo indirizzo IP pubblico, con una porta esposta.
- È costituito da due contenitori. Un contenitore resta in ascolto sulla porta 80, mentre l'altro sulla porta 5000.
- Include due condivisioni file di Azure come montaggi di volumi e ogni contenitore monta in locale una delle condivisioni.
Nota
I gruppi multi-contenitore supportano attualmente solo contenitori Linux. Per i contenitori Windows, Istanze di Azure Container supporta solo la distribuzione di una singola istanza.
Distribuzione
Esistono due modi comuni per distribuire un gruppo multi-contenitore: usare un modello di Resource Manager o usare un file YAML. Un modello di Resource Manager è consigliato quando è necessario distribuire più risorse del servizio di Azure quando si distribuiscono le istanze del contenitore. A causa della natura più concisa del formato YAML, la distribuzione con un file YAML è una scelta raccomandata quando la distribuzione include solo istanze di contenitore.
Allocazione delle risorse
Istanze di Azure Container alloca risorse come le CPU, la memoria e, facoltativamente, le GPU (anteprima) a un gruppo di contenitori aggiungendo le richieste di risorse delle istanze nel gruppo. Se si crea un gruppo di contenitori con due istanze, ognuna delle quali richiede una CPU, il gruppo di contenitori viene allocato a due CPU.
Rete
I gruppi di contenitori condividono un indirizzo IP e uno spazio dei nomi di porta in tale indirizzo IP. Per consentire ai client esterni di raggiungere un contenitore all'interno del gruppo, è necessario esporre la porta sull'indirizzo IP e dal contenitore. Poiché i contenitori all'interno del gruppo condividono uno spazio dei nomi delle porte, il mapping delle porte non è supportato. I contenitori all'interno di un gruppo possono raggiungersi vicendevolmente tramite localhost sulle porte esposte, anche se tali porte non sono esposte esternamente sull'indirizzo IP del gruppo.
Immagazzinamento
È possibile impostare il montaggio di volumi esterni all'interno di un gruppo di contenitori ed eseguire il mapping di tali volumi in percorsi specifici all'interno dei singoli contenitori di un gruppo. I volumi supportati includono:
- Condivisione file di Azure
- Segreto
- Directory vuota
- Repository Git clonato
Scenari comuni
I gruppi multi-contenitore sono utili nei casi in cui si vuole dividere una singola attività funzionale in alcune immagini del contenitore. Un'immagine potrebbe essere distribuita da team diversi e avere requisiti di risorse distinti.
Un utilizzo di esempio potrebbe includere:
- Un contenitore che serve un'applicazione Web e un contenitore che estrae il contenuto più recente dal controllo del codice sorgente.
- Un contenitore dell'applicazione e un contenitore di registrazione. Il contenitore di registrazione raccoglie i log e le metriche prodotti dall'applicazione principale e li scrive nella risorsa di archiviazione a lungo termine.
- Un contenitore dell'applicazione e un contenitore di monitoraggio. Il contenitore di monitoraggio invia periodicamente una richiesta all'applicazione per assicurarsi che sia in esecuzione e che risponda correttamente. Se l'applicazione non è in esecuzione o non risponde, il contenitore di monitoraggio genera un avviso.
- Un contenitore front-end e un contenitore back-end. Il front-end potrebbe servire un'applicazione Web e il back-end eseguire un servizio per recuperare i dati.