Abilitare i contenitori per usare le funzionalità di Rete virtuale di Azure
Per portare il set completo di funzionalità di rete di Azure ai contenitori, è possibile usare lo stesso stack di rete software-defined che supporta le macchine virtuali. Il plug-in Azure Rete virtuale container network interface (CNI) viene installato in una macchina virtuale di Azure. Il plug-in assegna gli indirizzi IP da una rete virtuale ai contenitori attivati nella macchina virtuale. Le collega alla rete virtuale e le connette direttamente ad altri contenitori e risorse di rete virtuale.
Il plug-in non si basa su reti sovrapposte o route per la connettività e offre le stesse prestazioni delle macchine virtuali. A livello generale, il plug-in offre le funzionalità seguenti in modo che sia possibile:
- Assegnare un indirizzo IP di rete virtuale a ogni pod, che può essere costituito da uno o più contenitori.
- Connettere i pod alle reti virtuali con peering e all'ambiente locale tramite Azure ExpressRoute o una rete privata virtuale da sito a sito. I pod sono raggiungibili anche da reti con peering e locali.
- Accedere ai servizi con i pod. Ad esempio, Archiviazione di Azure e database SQL di Azure sono protetti dagli endpoint servizio di rete virtuale.
- Applicare gruppi di sicurezza di rete e route direttamente ai pod.
- Posizionare i pod direttamente dietro un servizio di bilanciamento del carico interno o pubblico di Azure, proprio come le macchine virtuali.
- Assegnare pod a un indirizzo IP pubblico per renderli direttamente accessibili da Internet. I pod possono anche accedere a Internet.
- Usare i pod per lavorare senza problemi con risorse Kubernetes, ad esempio servizi, controller in ingresso e DNS Kube. Un servizio Kubernetes può anche essere esposto internamente o esternamente tramite Azure Load Balancer.
Il diagramma seguente illustra come il plug-in fornisce funzionalità di Rete virtuale di Azure ai pod.
Il plug-in supporta entrambe le piattaforme Linux e Windows.
Connettere i pod a una rete virtuale
I pod vengono visualizzati in una macchina virtuale che fa parte di una rete virtuale. Un pool di indirizzi IP per i pod è configurato come indirizzi secondari nell'interfaccia di rete di una macchina virtuale. Azure CNI configura la connettività di rete di base per i pod e gestisce l'utilizzo degli indirizzi IP nel pool. Quando un pod viene visualizzato nella macchina virtuale, Azure CNI assegna un indirizzo IP disponibile dal pool e connette il pod a un bridge software nella macchina virtuale. Quando il pod termina, l'indirizzo IP viene aggiunto di nuovo al pool. Il diagramma seguente illustra come i pod si connettono a una rete virtuale.
Accesso a Internet
Per consentire ai pod di accedere a Internet, il plug-in configura le regole iptables in NAT (Network Address Translation) per convertire il traffico associato a Internet dai pod. L'indirizzo IP di origine del pacchetto viene convertito nell'indirizzo IP primario nell'interfaccia di rete della macchina virtuale. Le macchine virtuali Windows generano automaticamente il traffico NAT destinato agli indirizzi IP esterni alla subnet in cui si trova la macchina virtuale. In genere, viene convertito tutto il traffico destinato a un indirizzo IP al di fuori dell'intervallo IP della rete virtuale.
Limiti
Il plug-in supporta fino a 250 pod per macchina virtuale e fino a 16.000 pod in una rete virtuale. Questi limiti sono diversi per servizio Azure Kubernetes (servizio Azure Kubernetes).
Usare il plug-in
È possibile usare il plug-in nei modi seguenti per fornire l'allegato di rete virtuale di base per pod o contenitori Docker:
- servizio Azure Kubernetes: usare il plug-in per l'integrazione nel servizio Azure Kubernetes selezionando l'opzione Rete avanzata. Con la rete avanzata, è possibile distribuire un cluster Kubernetes in una rete virtuale esistente o nuova. Per altre informazioni sulle funzionalità di rete avanzate e sui passaggi per configurarla, vedere Configurazione di rete nel servizio Azure Kubernetes.
- Motore del servizio Azure Kubernetes: usare il motore del servizio Azure Kubernetes per generare un modello di Azure Resource Manager per la distribuzione di un cluster Kubernetes in Azure. Per istruzioni dettagliate, vedere Distribuire il plug-in per i cluster Kubernetes del motore del servizio Azure Kubernetes.
- Creare un cluster Kubernetes personalizzato in Azure: usare il plug-in per fornire funzionalità di rete di base per i pod nei cluster Kubernetes distribuiti manualmente, senza basarsi su servizio Azure Kubernetes o strumenti come il motore del servizio Azure Kubernetes. In questo caso, il plug-in viene installato e abilitato in ogni macchina virtuale in un cluster. Per istruzioni dettagliate, vedere Distribuire il plug-in per un cluster Kubernetes.
- Allegato di rete virtuale per contenitori Docker in Azure: usare il plug-in quando non si vuole creare un cluster Kubernetes e si vuole creare contenitori Docker con allegato di rete virtuale nelle macchine virtuali. Per istruzioni dettagliate, vedere Distribuire il plug-in per i contenitori Docker.
Contenuto correlato
- Distribuire la rete dei contenitori per un host Docker Linux autonomo.
- Distribuire la rete dei contenitori per un host Docker Windows autonomo.
- Distribuire il plug-in per i cluster Kubernetes o i contenitori Docker.