Distribuire la rete dei contenitori per un host Docker di Linux autonomo
Il plug-in Azure CNI consente la rete per contenitore/pod per host Docker autonomi e cluster Kubernetes. In questo articolo viene illustrato come installare e configurare il plugin CNI per un host Linux di Windows autonomo.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Creare una rete virtuale e un host Azure Bastion
La procedura seguente consente di creare una rete virtuale con una subnet di risorse, una subnet di Azure Bastion e un host Bastion:
Nel portale cercare e selezionare Reti virtuali.
Nella pagina Reti virtuali selezionare + Crea.
Nella scheda Informazioni di base di Crea rete virtuale immettere o selezionare le informazioni seguenti:
Impostazione Valore Dettagli di progetto Subscription Selezionare la propria sottoscrizione. Gruppo di risorse Selezionare Crea nuovo.
Immettere test-rg per il nome.
Selezionare OK.Dettagli istanza Nome Immettere vnet-1. Paese Selezionare Stati Uniti orientali 2. Selezionare Avanti per passare alla scheda Sicurezza.
Nella sezione Azure Bastion, selezionare Abilita Azure Bastion.
Bastion usa il browser per connettersi alle macchine virtuali nella rete virtuale tramite SSH (Secure Shell) o RDP (Remote Desktop Protocol) usando i relativi indirizzi IP privati. Le macchine virtuali non necessitano di indirizzi IP pubblici, software client o configurazioni speciali. Per altre informazioni, vedere Informazioni su Azure Bastion.
In Azure Bastion immettere o selezionare le informazioni seguenti:
Impostazione Valore Nome host Azure Bastion Immettere bastion. Indirizzo IP pubblico di Azure Bastion Selezionare Crea un indirizzo IP pubblico.
Immettere public-ip-bastion in Nome.
Selezionare OK.Selezionare Avanti per passare alla scheda Indirizzi IP.
Nella casella spazio indirizzi in Subnetselezionare la subnet predefinita.
In Modifica subnet immettere o selezionare le informazioni seguenti:
Impostazione Valore Scopo della subnet Lasciare l'impostazione predefinita Predefinito. Nome Immettere subnet-1. IPv4 Intervallo di indirizzi IPv4 Lasciare l'impostazione predefinita 10.0.0.0/16. Indirizzo iniziale Lasciare l'impostazione predefinita 10.0.0.0. Dimensione Lasciare l'impostazione predefinita /24 (256 indirizzi). Seleziona Salva.
Selezionare Rivedi e crea nella parte inferiore della finestra. Al termine della convalida, selezionare Crea.
La distribuzione dell'host Bastion potrebbe richiedere qualche minuto. È possibile continuare con la procedura durante la distribuzione dell'host Bastion.
Creare una macchina virtuale di test
La procedura seguente crea nella rete virtuale una macchina virtuale di test denominata vm-1.
Nel portale, cercare e selezionare Macchine virtuali.
In Macchine virtuali, selezionare + Crea, quindi Macchina virtuale di Azure.
Nella scheda Informazioni di base di Crea una macchina virtuale, immettere o selezionare le informazioni seguenti:
Impostazione Valore Dettagli di progetto Subscription Selezionare la propria sottoscrizione. Gruppo di risorse Selezionare test-rg. Dettagli istanza Virtual machine name Immettere vm-1. Paese Selezionare Stati Uniti orientali 2. Opzioni di disponibilità Selezionare La ridondanza dell'infrastruttura non è richiesta. Tipo di sicurezza Lasciare l'impostazione predefinita Standard. Immagine Selezionare Ubuntu Server 22.04 LTS - x64 Gen2. Architettura della macchina virtuale Lasciare il valore predefinito x64. Dimensione Selezionare una dimensione. Account amministratore Tipo di autenticazione selezionare Password. Username digitare azureuser. Password Immettere una password. Conferma password Immettere nuovamente la password. Regole porta in ingresso Porte in ingresso pubbliche Selezionare Nessuno. Selezionare la scheda Rete, nella parte superiore della pagina.
Nella scheda Rete immettere o selezionare le informazioni seguenti:
Impostazione Valore Interfaccia di rete Rete virtuale Selezionare vnet-1. Subnet Selezionare subnet-1 (10.0.0.0/24). IP pubblico Selezionare Nessuno. Gruppo di sicurezza di rete della scheda di interfaccia di rete Seleziona Avanzate. Configura gruppo di sicurezza di rete Selezionare Crea nuovo.
Immettere nsg-1 per il nome.
Lasciare invariate le impostazioni predefinite e selezionare OK.Lasciare invariate le impostazioni predefinite e selezionare Rivedi e crea.
Rivedere le impostazioni e selezionare Crea.
Nota
Le macchine virtuali in una rete virtuale con un host Bastion non necessitano di indirizzi IP pubblici. Bastion fornisce l'indirizzo IP pubblico e le macchine virtuali usano indirizzi IP privati per comunicare all'interno della rete. È possibile rimuovere gli indirizzi IP pubblici da qualsiasi macchina virtuale in reti virtuali ospitate da Bastion. Per altre informazioni, vedere Annullare l'associazione di un indirizzo IP pubblico da una macchina virtuale di Azure.
Nota
Azure fornisce un IP di accesso in uscita predefinito per le macchine virtuali a cui non è stato assegnato un indirizzo IP pubblico o che si trovano nel pool back-end di un servizio del bilanciamento del carico di base di Azure. Il meccanismo dell'IP di accesso in uscita predefinito fornisce un IP in uscita non configurabile.
L'IP di accesso in uscita predefinito è disabilitato quando si verifica uno degli eventi seguenti:
- Alla macchina virtuale viene assegnato un indirizzo IP pubblico.
- La macchina virtuale è posizionata nel pool back-end di un servizio di bilanciamento del carico standard, con o senza regole in uscita.
- Una risorsa del gateway NAT di Azure viene assegnata alla subnet della macchina virtuale.
Le macchine virtuali create usando set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile non hanno l'accesso in uscita predefinito.
Per altre informazioni sulle connessioni in uscita in Azure, vedere Accesso in uscita predefinito in Azure e Uso di Source Network Address Translation (SNAT) per le connessioni in uscita.
Aggiungere la configurazione IP
Il plug-in Azure CNI alloca gli indirizzi IP ai contenitori in base a un pool di indirizzi IP creati nell'interfaccia di rete virtuale della macchina virtuale. Per ogni contenitore nell'host, è necessario che nell'interfaccia di rete virtuale esista una configurazione IP. Se il numero di contenitori nel server supera le configurazioni IP nell'interfaccia di rete virtuale, il contenitore viene avviato ma non ha un indirizzo IP.
In questa sezione viene aggiunta una configurazione IP all'interfaccia di rete virtuale della macchina virtuale creata in precedenza.
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
In Impostazioni selezionare Rete.
Selezionare il nome dell'interfaccia di rete accanto a Interfaccia di rete:. L'interfaccia di rete è denominata vm-1 con un numero casuale.
In Impostazioni dell'interfaccia di rete selezionare Configurazioni IP.
in Configurazioni IPselezionare ipconfig1 in Nome.
Nelle impostazioni di ipconfig1 modificare l'assegnazione dell'indirizzo IP privato da Dinamico a Statico.
Seleziona Salva.
Tornare alle Configurazioni IP.
Seleziona + Aggiungi.
Immettere o selezionare le informazioni seguenti per Aggiungere una configurazione IP:
Impostazione valore Nome Immettere ipconfig-2. Impostazioni dell'indirizzo IP privato Allocazione Selezionare Statico. Indirizzo IP Immettere 10.0.0.5. Seleziona OK.
Verificare che ipconfig-2 sia stato aggiunto come configurazione IP secondaria.
Ripetere i passaggi precedenti per aggiungere tutte le configurazioni dei contenitori da distribuire nell'host contenitore.
Installare Docker
Il motore contenitore Docker deve essere installato e configurato nella macchina virtuale creata in precedenza.
Accedere alla macchina virtuale creata in precedenza con l'host Azure Bastion distribuito con la rete virtuale.
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
Nella Panoramica di vm-1selezionare Connetti quindi Bastion.
Immettere il nome utente e la password creati durante la distribuzione della macchina virtuale nei passaggi precedenti.
Selezionare Connetti.
Per le istruzioni di installazione di Docker in un host contenitore Ubuntu, vedere Installare il motore Docker su Ubuntu.
Una volta che Docker è installato nella macchina virtuale, seguire le istruzioni per la post-installazione di Linux. Per istruzioni sul post-installazione di Linux, vedere la procedura di post-installazione del motore Docker.
Dopo l'installazione di Docker nella macchina virtuale, continuare con i passaggi descritti in questo articolo.
Installare il plug-in CNI e creare un contenitore di test
Il plug-in Azure CNI viene gestito come progetto GitHub ed è disponibile per il download dalla pagina GitHub del progetto. Per questo articolo si usa git
all'interno della macchina virtuale per clonare il repository del plug-in e installare e configurare il plug-in.
Per altre informazioni sul plug-in Azure CNI, vedere Rete di contenitori Microsoft Azure.
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
Nella Panoramica di vm-1selezionare Connetti quindi Bastion.
Immettere il nome utente e la password creati durante la distribuzione della macchina virtuale nei passaggi precedenti.
Selezionare Connetti.
L'applicazione jq è necessaria per lo script di installazione del plug-in CNI; usare l'esempio seguente per installare l'applicazione:
sudo apt-get update sudo apt-get install jq
Clonare quindi il repository per il plug-in CNI. Usare l'esempio seguente per clonare il repository:
git clone https://github.com/Azure/azure-container-networking.git
Configurare le autorizzazioni e installare il plug-in CNI. Il comando install script richiede un numero di versione per il plug-in CNI. Al momento della stesura di questo articolo, la versione più recente è
v1.4.39
. Per ottenere il numero di versione più recente del plug-in o delle versioni precedenti, vedere Versioni.cd ./azure-container-networking/scripts chmod u+x install-cni-plugin.sh sudo ./install-cni-plugin.sh v1.4.39 chmod u+x docker-run.sh
Per avviare un contenitore con il plug-in CNI, è necessario usare uno script speciale fornito con il plug-in per creare e avviare il contenitore. Nell'esempio seguente viene creato un contenitore Alpine con lo script del plugin CNI:
sudo ./docker-run.sh vnetdocker1 default alpine
Per verificare che il contenitore abbia ricevuto l'indirizzo IP configurato in precedenza, connettersi al contenitore e visualizzare l'indirizzo IP:
sudo docker exec -it vnetdocker1 /bin/sh
Usare il comando
ifconfig
nell'esempio seguente per verificare che l'indirizzo IP sia stato assegnato al contenitore:ifconfig
Quando le risorse create non sono più necessarie, è possibile eliminare il gruppo di risorse e tutte le risorse al suo interno.
Accedere al portale di Azure e selezionare Gruppi di risorse.
Nella pagina Gruppi di risorse selezionare il gruppo di risorse test-rg.
Nella pagina test-rg selezionare Elimina gruppo di risorse.
Immettere test-rg in Immettere il nome del gruppo di risorse per confermare l'eliminazione, quindi selezionare Elimina.
Passaggi successivi
In questo articolo si è appreso come installare il plugin Azure CNI e creare un contenitore di test.
Per altre informazioni sulla rete dei contenitori di Azure e sul servizio Azure Kubernetes, vedere: