Condividi tramite


Concetti di rete per la distribuzione dei nodi del servizio Azure Kubernetes

Si applica a: Servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server

È possibile scegliere tra due modelli di assegnazione di indirizzi IP per l'architettura di rete per il servizio Azure Kubernetes abilitato da Arc. Il servizio Azure Kubernetes supporta diverse opzioni di distribuzione per servizio Azure Kubernetes (servizio Azure Kubernetes):

  • Rete IP statica: la rete virtuale alloca gli indirizzi IP statici al server API del cluster Kubernetes, ai nodi Kubernetes, alle macchine virtuali sottostanti, ai servizi di bilanciamento del carico e ai servizi Kubernetes eseguiti sul cluster.
  • Rete DHCP: la rete virtuale alloca gli indirizzi IP dinamici ai nodi Kubernetes, alle macchine virtuali sottostanti e ai servizi di bilanciamento del carico usando un server DHCP. Il server API del cluster Kubernetes e tutti i servizi Kubernetes eseguiti sopra il cluster vengono comunque allocati indirizzi IP statici.

Nota

L'architettura di rete virtuale definita qui per AKS Arc potrebbe essere diversa dall'architettura di rete fisica sottostante in un data center.

Pool di indirizzi IP virtuali

Un pool di indirizzi IP virtuali (VIP) è un set di indirizzi IP obbligatori per qualsiasi distribuzione nel servizio Azure Kubernetes Arc. Il pool di indirizzi VIP è un intervallo di indirizzi IP riservati usati per allocare indirizzi IP al server API del cluster Kubernetes. Garantisce che le applicazioni nei servizi Kubernetes siano sempre raggiungibili. Tenere presente che, indipendentemente dal modello di rete virtuale e dal modello di assegnazione degli indirizzi scelto, è necessario fornire un pool VIP per la distribuzione dell'host del servizio Azure Kubernetes.

Il numero di indirizzi IP nel pool VIP dipende dal numero di cluster del carico di lavoro e dai servizi Kubernetes pianificati per la distribuzione.

A seconda del modello di rete, la definizione del pool VIP è diversa nei modi seguenti:

  • IP statico: se si usa l'indirizzo IP statico, assicurarsi che gli indirizzi IP virtuali provenano dalla stessa subnet fornita.
  • DHCP: se la rete è configurata con DHCP, rivolgersi all'amministratore di rete per escludere l'intervallo IP del pool VIP dall'ambito DHCP usato per il servizio Azure Kubernetes nella distribuzione locale di Azure.

Pool IP della macchina virtuale del nodo Kubernetes

I nodi Kubernetes vengono distribuiti come macchine virtuali specializzate in AKS Arc. Il servizio Azure Kubernetes alloca gli indirizzi IP a queste macchine virtuali per abilitare la comunicazione tra i nodi Kubernetes.

  • IP statico: è necessario specificare un intervallo di pool IP della macchina virtuale del nodo Kubernetes. Il numero di indirizzi IP in questo intervallo dipende dal numero totale di nodi Kubernetes che si prevede di usare per la distribuzione tra l'host del servizio Azure Kubernetes e i cluster Kubernetes del carico di lavoro. Tenere presente che gli aggiornamenti utilizzano uno o tre indirizzi IP aggiuntivi durante l'aggiornamento.
  • DHCP: non è necessario specificare un pool di macchine virtuali del nodo Kubernetes, perché gli indirizzi IP ai nodi Kubernetes vengono allocati dinamicamente dal server DHCP nella rete.

Questo modello di rete crea una rete virtuale che alloca gli indirizzi IP da un pool di indirizzi definito staticamente a tutti gli oggetti nella distribuzione. Un ulteriore vantaggio dell'uso della rete IP statica è che le distribuzioni e i carichi di lavoro delle applicazioni di lunga durata sono sempre raggiungibili.

Specificare i parametri seguenti durante la definizione di una rete virtuale con configurazioni IP statiche:

Importante

Questa versione del servizio Azure Kubernetes non consente modifiche alla configurazione di rete dopo la distribuzione dell'host del servizio Azure Kubernetes o del cluster del carico di lavoro. Per modificare le impostazioni di rete, è necessario iniziare rimuovendo i cluster del carico di lavoro e disinstallando il servizio Azure Kubernetes.

  • Nome: nome della rete virtuale.

  • Prefisso indirizzo: prefisso dell'indirizzo IP da usare per la subnet.

  • Gateway: indirizzo IP del gateway predefinito per la subnet.

  • Server DNS: matrice di indirizzi IP che puntano ai server DNS da usare per la subnet. È possibile specificare almeno uno e un massimo di tre server.

  • Pool di macchine virtuali del nodo Kubernetes: intervallo continuo di indirizzi IP da usare per le macchine virtuali del nodo Kubernetes.

  • Pool di indirizzi IP virtuali: intervallo continuo di indirizzi IP da usare per il server API del cluster Kubernetes e i servizi Kubernetes.

    Nota

    Il pool di indirizzi VIP deve far parte della stessa subnet del pool di macchine virtuali del nodo Kubernetes.

  • VLAN ID: ID vLAN per la rete virtuale. Se viene omesso, la rete virtuale non viene contrassegnata.

Rete virtuale con rete DHCP

Questo modello di rete crea una rete virtuale che alloca gli indirizzi IP usando DHCP a tutti gli oggetti nella distribuzione.

È necessario specificare i parametri seguenti durante la definizione di una rete virtuale con configurazioni IP statiche:

  • Nome: nome della rete virtuale.

  • Pool di indirizzi IP virtuali: intervallo continuo di indirizzi IP da usare per il server API del cluster Kubernetes e i servizi Kubernetes.

    Nota

    Gli indirizzi del pool VIP devono trovarsi nella stessa subnet dell'ambito DHCP e devono essere esclusi dall'ambito DHCP per evitare conflitti di indirizzi.

  • VLAN ID: ID vLAN per la rete virtuale. Se omesso, la rete virtuale non viene contrassegnata.

Servizio cloud locale Microsoft

Microsoft On-premises Cloud (MOC) è lo stack di gestione che consente la gestione delle macchine virtuali in SDDC locale e Windows Server in Azure nel cloud. MOC è costituito da:

  • Una singola istanza di un servizio a disponibilità elevata cloud agent distribuita nel cluster. Questo agente viene eseguito in un nodo qualsiasi nel cluster Locale di Azure o Windows Server ed è configurato per eseguire il failover in un altro nodo.
  • Oggetto node agent in esecuzione in ogni nodo fisico locale di Azure.

Per abilitare la comunicazione con MOC, è necessario specificare l'indirizzo IP CIDR da usare per il servizio. -cloudserviceCIDR è un parametro nel Set-AksHciConfig comando usato per assegnare l'indirizzo IP al servizio agente cloud e abilitare la disponibilità elevata del servizio agente cloud.

La scelta di un indirizzo IP per il servizio MOC dipende dal modello di rete sottostante usato dalla distribuzione del cluster in Azure locale o Windows Server.

Nota

L'allocazione degli indirizzi IP per il servizio MOC è indipendente dal modello di rete virtuale Kubernetes. L'allocazione degli indirizzi IP dipende dalla rete fisica sottostante e dagli indirizzi IP configurati per i nodi del cluster Locale di Azure o Windows Server nel data center.

  • Nodi del cluster Locale di Azure e Windows Server con modalità di allocazione degli indirizzi IP basati su DHCP: se ai nodi locali di Azure viene assegnato un indirizzo IP da un server DHCP presente nella rete fisica, non è necessario fornire in modo esplicito un indirizzo IP al servizio MOC, perché il servizio MOC riceve anche un indirizzo IP dal server DHCP.

  • Nodi del cluster Locale di Azure e Windows Server con un modello di allocazione IP statico: se ai nodi del cluster vengono assegnati indirizzi IP statici, è necessario specificare in modo esplicito un indirizzo IP per il servizio cloud MOC. L'indirizzo IP per il servizio MOC deve trovarsi nella stessa subnet degli indirizzi IP dei nodi del cluster Locale di Azure e Windows Server. Per assegnare in modo esplicito un indirizzo IP per il servizio MOC, usare il -cloudserviceCIDR parametro nel Set-AksHciConfig comando . Assicurarsi di immettere un indirizzo IP nel formato CIDR, ad esempio: "10.11.23.45/16".

Confrontare i modelli di rete

DHCP e IP statico forniscono connettività di rete nel servizio Azure Kubernetes nella distribuzione locale di Azure e Windows Server. Ogni metodo presenta, tuttavia, vantaggi e svantaggi. A livello generale, si applicano le considerazioni seguenti:

DHCP : non garantisce indirizzi IP di lunga durata per alcuni tipi di risorse in una distribuzione del servizio Azure Kubernetes. - Supporta l'espansione di indirizzi IP DHCP riservati se la distribuzione diventa più grande di quanto previsto inizialmente.

IP statico: garantisce indirizzi IP di lunga durata per tutte le risorse in una distribuzione del servizio Azure Kubernetes. - Poiché l'espansione automatica del pool ip del nodo Kubernetes non è supportata, potrebbe non essere possibile creare nuovi cluster se è stato esaurito il pool di indirizzi IP del nodo Kubernetes.

La tabella seguente confronta l'allocazione degli indirizzi IP per le risorse tra modelli di rete IP statici e DHCP:

Funzionalità Indirizzo IP statico DHCP
Server API del cluster Kubernetes Assegnato in modo statico usando il pool VIP. Assegnato in modo statico usando il pool VIP.
Nodi Kubernetes (nelle macchine virtuali) Assegnato usando il pool di indirizzi IP del nodo Kubernetes. Assegnato in modo dinamico.
Servizi Kubernetes Assegnato in modo statico usando il pool VIP. Assegnato in modo statico usando il pool VIP.
MACCHINA virtuale del servizio di bilanciamento del carico HAProxy Assegnato usando il pool di indirizzi IP del nodo Kubernetes. Assegnato in modo dinamico.
Servizio cloud locale Microsoft Dipende dalla configurazione di rete fisica per i nodi del cluster Locale di Azure e Windows Server. Dipende dalla configurazione di rete fisica per i nodi del cluster Locale di Azure e Windows Server.
Pool VIP Obbligatorio Obbligatorio
Pool IP della macchina virtuale del nodo Kubernetes Obbligatorio Non supportato

Prenotazioni di indirizzi IP minimi per una distribuzione del servizio Azure Kubernetes

Indipendentemente dal modello di distribuzione, il numero di indirizzi IP riservati rimane invariato. Questa sezione descrive il numero di indirizzi IP che è necessario riservare in base al modello di distribuzione Arc del servizio Azure Kubernetes.

Prenotazione minima degli indirizzi IP

È necessario riservare almeno il numero di indirizzi IP seguenti per la distribuzione:

Tipo di cluster Nodo del piano di controllo Nodo di lavoro Per le operazioni di aggiornamento Bilanciamento del carico
Host del servizio Azure Kubernetes Un indirizzo IP ND Due INDIRIZZI IP ND
Cluster del carico di lavoro Un INDIRIZZO IP per nodo Un INDIRIZZO IP per nodo 5 IP Un indirizzo IP

È inoltre consigliabile riservare il numero di indirizzi IP seguente per il pool di indirizzi VIP:

Tipo di risorsa Numero di indirizzi IP
Server API del cluster 1 per cluster
Servizi Kubernetes 1 per servizio
Servizi per le applicazioni 1 per servizio pianificato

Come si può notare, il numero di indirizzi IP necessari è variabile a seconda dell'architettura della distribuzione del servizio Azure Kubernetes e del numero di servizi eseguiti nel cluster Kubernetes. È consigliabile riservare almeno 256 indirizzi IP (/24 subnet) per la distribuzione.

Procedura dettagliata per una distribuzione di esempio

Jane è un amministratore IT che inizia con il servizio Azure Kubernetes abilitato da Azure Arc. Vuole distribuire due cluster Kubernetes: cluster Kubernetes A e cluster Kubernetes B nel cluster locale di Azure. Vuole anche eseguire un'applicazione di voto nella parte superiore del suo cluster. Questa applicazione ha tre istanze dell'interfaccia utente front-end in esecuzione tra i due cluster e un'istanza del database back-end.

  • Il cluster Kubernetes A ha 3 nodi del piano di controllo e 5 nodi di lavoro.
  • Il cluster Kubernetes B ha 1 nodo del piano di controllo e 3 nodi di lavoro.
  • 3 istanze dell'interfaccia utente front-end (porta 443).
  • 1 istanza del database back-end (porta 80).

In base alla tabella precedente, deve riservare:

  • 3 indirizzi IP per l'host del servizio Azure Kubernetes (un IP per il nodo del piano di controllo e due indirizzi IP per l'esecuzione di operazioni di aggiornamento).
  • 3 Indirizzi IP per i nodi del piano di controllo nel cluster A (un IP per nodo del piano di controllo).
  • 5 indirizzi IP per i nodi di lavoro nel cluster A (un IP per nodo di lavoro).
  • 6 indirizzi IP aggiuntivi per il cluster A (cinque INDIRIZZI IP per l'esecuzione di operazioni di aggiornamento e 1 IP per il servizio di bilanciamento del carico).
  • 1 Indirizzi IP per i nodi del piano di controllo nel cluster B (un INDIRIZZO IP per ogni nodo del piano di controllo).
  • 3 Indirizzi IP per i nodi di lavoro nel cluster B (un IP per nodo di lavoro).
  • 6 indirizzi IP aggiuntivi per il cluster B (cinque INDIRIZZI IP per l'esecuzione di operazioni di aggiornamento e 1 IP per il servizio di bilanciamento del carico).
  • 2 indirizzi IP per i server API del cluster Kubernetes (un IP per ogni cluster Kubernetes).
  • 3 Indirizzi IP per il servizio Kubernetes (un indirizzo IP per istanza dell'interfaccia utente front-end, poiché usano tutte la stessa porta. Il database back-end può usare uno dei tre indirizzi IP purché usi una porta diversa.

Come spiegato in precedenza, Jane richiede un totale di 32 indirizzi IP per distribuire il cluster. Jane dovrebbe quindi riservare una subnet /26 per la rete virtuale.

Dividere gli indirizzi IP riservati in base a un modello di rete IP statico

Mentre il numero totale di indirizzi IP riservati rimane invariato, il modello di distribuzione determina il modo in cui questi indirizzi IP vengono divisi tra i gruppi IP. Il modello di rete IP statico ha due pool IP:

  • Pool IP della macchina virtuale del nodo Kubernetes: per le macchine virtuali del nodo Kubernetes e la macchina virtuale del servizio di bilanciamento del carico. Questo pool di indirizzi IP include anche l'indirizzo IP necessario per l'esecuzione delle operazioni di aggiornamento.
  • Pool di indirizzi IP virtuali: per il server API Kubernetes e i servizi Kubernetes.

Usando questo esempio, Jane deve dividere ulteriormente questi indirizzi IP tra pool VIP e pool di indirizzi IP dei nodi Kubernetes:

  • 5 (due per il server API del cluster Kubernetes e tre per i servizi Kubernetes) su 32 indirizzi IP per il pool di indirizzi VIP.
  • 27 (tutti gli indirizzi IP per i nodi Kubernetes e le macchine virtuali sottostanti, le macchine virtuali del servizio di bilanciamento del carico e le operazioni di aggiornamento) per il pool di indirizzi IP del nodo Kubernetes.

Dividere gli indirizzi IP riservati in base a un modello di rete DHCP

Mentre il numero totale di indirizzi IP riservati rimane invariato, il modello di distribuzione determina il modo in cui questi indirizzi IP vengono divisi tra i gruppi IP. Come illustrato nella sezione precedente, il modello di rete DHCP ha un ambito IP:

  • Pool di indirizzi IP virtuali: per il server API Kubernetes e i servizi Kubernetes

Uso dell'esempio precedente:

  • Jane deve riservare un totale di 32 indirizzi IP o una subnet /26 nel server DHCP.
  • Deve escludere 5 (due per il server API del cluster Kubernetes e tre per i servizi Kubernetes) dall'ambito DHCP di 32 indirizzi IP per il pool VIP.

Controller di ingresso

Durante la distribuzione di un cluster di destinazione, viene creata una HAProxyrisorsa di bilanciamento del carico basata su . Il servizio di bilanciamento del carico viene configurato per distribuire il traffico ai pod nel servizio su una porta specifica. Il servizio di bilanciamento del carico funziona solo al livello 4, che indica che il servizio non è a conoscenza dell'applicazione effettiva; ad esempio, non può fare altre considerazioni sul routing.

I controller di ingresso funzionano al livello 7 e sono in grado di usare regole più intelligenti per distribuire il traffico dell'applicazione. Un uso comune di un controller di ingresso consiste nel instradare il traffico HTTP a applicazioni diverse in base all'URL in ingresso.

Diagramma che mostra il flusso del traffico in ingresso in un cluster del servizio Azure Kubernetes in Locale di Azure.

Passaggi successivi

Questo articolo illustra alcuni concetti di rete per la distribuzione di nodi del servizio Azure Kubernetes in Locale di Azure. Per altre informazioni, vedere gli articoli seguenti: