Condividi tramite


Rete di Azure Kubernetes Edge Essentials

Questo articolo descrive come configurare la rete tra il sistema operativo host Windows e le macchine virtuali di Linux e Windows. Per altre informazioni sull'architettura di Azure Kubernetes Edge Essentials, vedere panoramica di Azure Kubernetes Edge Essentials.

Suggerimento

La guida seguente descrive diversi concetti e configurazioni di rete disponibili in Azure Kubernetes Edge Essentials. Se si usa un singolo cluster di computer, il programma di installazione e il meccanismo di distribuzione gestiscono tutte le configurazioni di rete necessarie. Non sono necessari passaggi o configurazioni aggiuntivi per distribuire il cluster.

Rete

Questa guida presuppone che si abbia il controllo sulla rete e sul router, ovvero in un'impostazione home. Se si è in un ambiente aziendale, è consigliabile chiedere all'amministratore di rete un intervallo di indirizzi IP gratuiti (dalla stessa subnet) raggiungibili su Internet.

Per stabilire un canale di comunicazione tra il sistema operativo host Windows e le macchine virtuali Linux e Windows, viene usato uno stack di rete Hyper-V. Per altre informazioni sulla rete Hyper-V, vedere Nozioni di base sulla rete Hyper-V.

I concetti di rete principali seguenti per Azure Kubernetes Edge Essentials sono allineati ai concetti seguenti:

  • Commutatore virtuale: componente Hyper-V che consente alle macchine virtuali create negli host Hyper-V di comunicare con altri computer. Per altre informazioni, vedere Creare e configurare un commutatore virtuale con Hyper-V. Azure Kubernetes Edge Essentials supporta due tipi di commutatori virtuali:
    • Interno: si connette a una rete che può essere usata solo dalle macchine virtuali in esecuzione nel sistema operativo host Windows con il commutatore virtuale e tra il sistema operativo host e le macchine virtuali.
    • Esterno: si connette a una rete cablata e fisica tramite l'associazione a una scheda di rete fisica. Consente alle macchine virtuali di accedere a una rete fisica per comunicare con i dispositivi in una rete esterna. Inoltre, consente alle macchine virtuali nello stesso server Hyper-V di comunicare tra loro.
  • Indirizzo IP dell'endpoint del piano di controllo: il piano di controllo Kubernetes è raggiungibile da questo indirizzo IP. È necessario specificare un singolo IP gratuito durante tutta la durata del cluster per il piano di controllo Kubernetes.
  • Intervallo di indirizzi IP del servizio: l'intervallo IP del servizio è un pool di indirizzi IP riservati usati per l'allocazione di indirizzi IP ai servizi Kubernetes (servizi/carichi di lavoro Kubernetes), per raggiungere le applicazioni.
  • Indirizzo IP della macchina virtuale: in AKS Edge Essentials, i nodi Kubernetes vengono distribuiti come macchine virtuali specializzate, che richiedono indirizzi IP. È necessario assegnare indirizzi IP gratuiti a queste macchine virtuali.

Rete in base al tipo di distribuzione

Se AKS Edge Essentials viene distribuito usando un singolo cluster di computer o un cluster scalabile, sono supportati diversi tipi di commutatori, assegnazioni di indirizzi IP e configurazioni, come illustrato nella tabella seguente.

Cluster di computer singolo Cluster scalabile
Tipo di commutatore virtuale Interno Esterno
Creazione del commutatore virtuale Automatico Manualmente dall'utente o automaticamente in base al nome dell'adattatore net fisico.
Assegnazione indirizzi IP Automatico - Indirizzi definiti Indirizzi IP statici configurati dall'utente.
Connessioni in uscita Uso del commutatore virtuale Usando direttamente l'adattatore net fisico.
Connessioni in ingresso Non raggiungibile Uso dell'indirizzo IP della macchina virtuale.
DNS Configurabile usando il DnsServers parametro , se non specificato, usare i server DNS host Windows. Configurabile usando DnsServers il parametro : se non specificato, usare i server DNS host Windows.
Proxy Configurabile usando i http_proxyparametri e no_proxyhttps_proxy . Configurabile usando http_proxyi https_proxy parametri e no_proxy .
Distribuzione offline Supportato usando il InternetDisabled parametro . Supportato usando il InternetDisabled parametro .
Intervallo IP del servizio Se il ServiceIPRangeSize parametro è definito, inizia a 192.168.0.4. Entrambi i ServiceIPRangeStart parametri e ServiceIPRangeSize possono essere definiti.
Indirizzo MAC statico Supportato usando il MacAddress parametro . Supportato usando il MacAddress parametro .
Unità di trasmissione massima (MTU) Supportato usando il MTU parametro . Supportato usando il MTU parametro .

Cluster di computer singolo

Le distribuzioni di macchine singole usano un commutatore virtuale interno per gestire la rete. Questo tipo di distribuzione deve avere un nodo Linux; un nodo Di Windows è facoltativo. Il diagramma seguente illustra un'architettura di distribuzione di macchine singole usando il commutatore virtuale interno:

Diagramma che mostra l'architettura di rete usando il commutatore virtuale interno.

Durante la distribuzione di un singolo computer, AKS Edge Essentials crea un commutatore virtuale interno denominato aksedgesw-int, nonché le schede di rete virtuali appropriate per connettere le macchine virtuali e il sistema operativo host Windows. L'installazione gestisce anche l'assegnazione e la traduzione degli indirizzi IP per le schede di interfaccia di rete. Ad esempio, gli indirizzi IP delle schede di interfaccia di rete virtuali possono essere definiti come segue:

  • Sistema operativo host Windows: 192.168.0. 1
  • Macchina virtuale del nodo Linux: 192.168.0. 2
  • Macchina virtuale del nodo Windows: 192.168.0. 3
  • Gli indirizzi IP del servizio iniziano: 192.168.0. 4

La famiglia di indirizzi 192.168.0.0/24 può cambiare a seconda del commutatore virtuale interno; tuttavia, i nodi e il sistema operativo host avranno sempre lo stesso suffisso: sistema operativo host (.1), vm Linux (.2), vm Windows (.3) e ServiceIP start (.4).

Infine, usando la traduzione degli indirizzi, il traffico è in grado di raggiungere la rete esterna usando la scheda di rete fisica. Il diagramma precedente mostra una rete esterna usando la famiglia di indirizzi IP 10.0.0.0/24 , ma dipende dall'ambiente di rete in cui è installato il dispositivo.

Cluster scalabile

Nelle distribuzioni di cluster scalabili, i nodi in esecuzione all'interno dei diversi dispositivi devono comunicare tra loro. Pertanto, tutti i nodi devono essere connessi alla stessa rete. Per ottenere questa comunicazione da nodo a nodo tra dispositivi, le distribuzioni di cluster scalabili di Azure Kubernetes Edge Essentials usano commutatori virtuali esterni. Il diagramma seguente illustra un'architettura di distribuzione multi-computer usando un commutatore virtuale esterno:

Diagramma che mostra l'architettura di rete usando l'opzione virtuale esterna.

Per avviare questo tipo di distribuzione, è necessario specificare i parametri di rete seguenti durante la distribuzione:

  • AdapterName: nome della scheda fisica connessa alla rete esterna. È possibile eseguire il comando di PowerShell Get-NetAdapter -Physical per visualizzare la Name colonna per la scheda desiderata.
  • Ip4Address: specificare l'indirizzo IP impiegato dalla macchina virtuale. Ogni nodo necessita del proprio indirizzo IP univoco.

Al termine della distribuzione, tutti i nodi e il sistema operativo host Windows saranno connessi alla rete esterna usando lo stesso commutatore virtuale esterno. Poiché i nodi sono connessi direttamente alla rete, non è necessario eseguire la traduzione degli indirizzi. Il diagramma precedente mostra un'architettura di rete usando la famiglia di indirizzi IP 192.168.0.0/24 ; ciò dipende tuttavia dall'ambiente di rete in cui vengono installati i dispositivi.

Per altre informazioni sulla configurazione del cluster scalabile, vedere Distribuzioni complete di Kubernetes in Azure Kubernetes Edge Essentials e Scalabilità in più computer.

Altri concetti di rete

DNS

Domain Name System (DNS) converte i nomi di dominio leggibili (ad esempio, www.microsoft.com) in indirizzi IP leggibili dal computer (ad esempio, 192.0.2.44). La macchina virtuale Azure Kubernetes Edge Essentials Linux usa systemd (system and service manager), quindi i servizi dns o di risoluzione dei nomi vengono forniti alle applicazioni e ai servizi locali tramite il servizio risolto dal sistema. Il nodo Windows usa il servizio DNS di rete Windows predefinito.

Per impostazione predefinita, durante la distribuzione di Azure Kubernetes Edge Essentials, è possibile fornire l'elenco dei server DNS usando il DnsServers parametro . Se non viene specificato alcun indirizzo, il meccanismo di distribuzione cerca i server DNS del sistema operativo host Windows (controllare usando ipconfing /all) e usa tali indirizzi server.

È possibile controllare i server DNS usati sia per i nodi Linux che per i nodi Windows. A tale scopo, usare una sessione di PowerShell con privilegi elevati, eseguire il cmdlet seguente:

  • Per i nodi della macchina virtuale Linux:

    Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
    

    L'output del comando mostra un elenco dei server DNS configurati per ogni interfaccia vm Linux. In particolare, è importante controllare lo stato dell'interfaccia eth0 , ovvero l'interfaccia predefinita per la comunicazione della macchina virtuale EE del servizio Azure Kubernetes. Assicurarsi inoltre di controllare gli indirizzi IP dei campi Server DNS corrente e Server DNS dell'elenco. Se non è presente alcun indirizzo IP o l'indirizzo IP non è un indirizzo IP del server DNS valido, il servizio DNS non funzionerà.

  • Per i nodi della macchina virtuale Windows:

    Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
    

    L'output del comando mostra un elenco delle interfacce di rete delle macchine virtuali Windows configurate. In particolare, è importante controllare lo stato dell'interfaccia ethernet vEthernet (Ethernet), ovvero l'interfaccia predefinita per la comunicazione della macchina virtuale Edge Essentials del servizio Azure Kubernetes. Assicurarsi inoltre di controllare gli indirizzi IP del campo Server DNS dell'elenco. Se non è presente alcun indirizzo IP o l'indirizzo IP non è un indirizzo IP del server DNS valido, il servizio DNS non funzionerà.

Proxy

Un server proxy è un software dedicato che funge da gateway tra un client e Internet. Elabora le richieste di rete come intermediario: quando ci si connette a un server proxy, il computer invia richieste al server anziché direttamente al destinatario. Azure Kubernetes Edge Essentials supporta la configurazione di server proxy per le macchine virtuali Linux e Windows.

Per impostazione predefinita, durante la distribuzione di AKS Edge Essentials, è possibile fornire la configurazione del proxy usando i Proxy.Httpparametri , Proxy.Httpse Proxy.No . Se non vengono forniti parametri, il meccanismo di distribuzione configura il no_proxy flag con la rete interna di Kubernetes necessaria.

  • Per i nodi della macchina virtuale Linux:

    Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
    
  • Per i nodi della macchina virtuale Windows:

    Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
    

Indirizzo MAC statico

Hyper-V consente di creare macchine virtuali con un indirizzo MAC statico o dinamico . Durante la creazione della macchina virtuale Edge Essentials del servizio Azure Kubernetes, è possibile specificare l'indirizzo MAC della macchina virtuale usando il MacAddress parametro . Se non viene specificato alcun valore, l'indirizzo MAC viene generato in modo casuale e archiviato localmente per mantenere lo stesso indirizzo tra le macchine virtuali o i riavvii dell'host Windows. Per eseguire una query sull'indirizzo MAC della macchina virtuale Edge Essentials del servizio Azure Kubernetes, è possibile usare il comando seguente:

  • Per i nodi della macchina virtuale Linux:

    Get-AksEdgeNodeAddr -NodeType Linux
    
  • Per i nodi della macchina virtuale Windows:

    Get-AksEdgeNodeAddr -NodeType Windows
    

Passaggi successivi