Distribuire Microsoft Software Defined Networking (SDN)
Si applica a: Servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server
Questo articolo descrive come distribuire l'infrastruttura del servizio Azure Kubernetes e le macchine virtuali del carico di lavoro in un Rete virtuale SDN usando il servizio di bilanciamento del carico software SDN per tutti gli scenari di bilanciamento del carico di Azure Kubernetes Arc. Il servizio Azure Kubernetes abilitato da Azure Arc offre una piattaforma di contenitori completamente supportata che può eseguire applicazioni native del cloud nella piattaforma di orchestrazione dei contenitori Kubernetes. L'architettura supporta l'esecuzione di carichi di lavoro Windows e Linux virtualizzati.
Limiti
Le funzionalità seguenti non rientrano nell'ambito e non sono supportate in questa versione ga:
- Collegamento di pod e contenitori a una rete virtuale SDN.
- I pod usano Flannel o Calico (impostazione predefinita) come provider di rete.
- Imposizione dei criteri di rete tramite i gruppi di sicurezza di rete SDN.
- I gruppi di sicurezza di rete SDN possono comunque essere configurati all'esterno di AKS Arc usando gli strumenti SDN (REST/PowerShell/Windows Admin Center/SCVMM), ma gli oggetti NetworkPolicy kubernetes non li configurano.
- Collegamento di schede di interfaccia di rete di VM Arc del servizio Azure Kubernetes alle reti logiche SDN.
- Installazione con Windows Admin Center.
- Host fisico per la connettività della macchina virtuale Arc del servizio Azure Kubernetes: le schede di interfaccia di rete delle macchine virtuali vengono aggiunte a una rete virtuale SDN e pertanto non sono accessibili dall'host per impostazione predefinita. Per il momento, è possibile abilitare questa connettività manualmente collegando un INDIRIZZO IP pubblico direttamente alla macchina virtuale usando il servizio di bilanciamento del carico software SDN.
Prerequisiti
Per distribuire il servizio Azure Kubernetes abilitato da Arc con SDN, assicurarsi che l'ambiente soddisfi i criteri di distribuzione di Arc e SDN del servizio Azure Kubernetes.
- Requisiti di Arc del servizio Azure Kubernetes
- Requisiti SDN: Pianificare un'infrastruttura di rete definita dal software
Nota
L'integrazione SDN con AKS Arc richiede solo Controller di rete e Software Load Balancer. Le macchine virtuali del gateway sono facoltative.
Installare e preparare SDN per Il servizio Azure Kubernetes Arc
Il primo passaggio consiste nell'installare SDN. Per installare SDN, è consigliabile usare SDN Express o Windows Admin Center. Un file di configurazione di riferimento che distribuisce tutti i componenti dell'infrastruttura SDN necessari è disponibile qui: [Software Load Balancer.psd1][].
Al termine della distribuzione SDN Express, dovrebbe essere presente una schermata che segnala lo stato come integro.
Se si è verificato un problema o viene segnalato come non integro, vedere Risoluzione dei problemi relativi a SDN.
È importante che SDN sia integro prima di procedere. Se si distribuisce SDN in un nuovo ambiente, è consigliabile anche creare macchine virtuali di test e verificare la connettività agli indirizzi VIP del servizio di bilanciamento del carico. Scopri come creare e collegare macchine virtuali a una rete virtuale SDN usando Windows Admin Center.
Procedura per installare il servizio Azure Kubernetes
Inizializzare e preparare tutti i computer host fisici per il servizio Azure Kubernetes Arc. Per le istruzioni più aggiornate, vedere Distribuire un host del servizio Azure Kubernetes.
Installare il modulo PowerShell del servizio Azure Kubernetes-HCI
Per informazioni sull'installazione del modulo PowerShell AksHci, vedere Installare il modulo PowerShell AksHci.See Install the AksHci PowerShell module for information about installing the AKS-HCI PowerShell module.
Nota
Dopo aver completato questo passaggio, aggiornare o ricaricare le sessioni di PowerShell aperte per ricaricare i moduli.
Registrare il provider di risorse nella sottoscrizione
Per informazioni su come registrare il provider di risorse nella sottoscrizione, vedere Installare il modulo AksHci PowerShell.
Preparare i computer per la distribuzione
Per informazioni su come preparare i computer per la distribuzione, vedere Preparare i computer per la distribuzione.
Configurare il servizio Azure Kubernetes per l'installazione
Scegliere uno dei computer locali di Azure per guidare la creazione del servizio Azure Kubernetes Arc. Prima dell'installazione è necessario eseguire tre passaggi:
Configurare le impostazioni di rete del servizio Azure Kubernetes per SDN; ad esempio usando:
- Rete virtuale SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Una rete virtualizzata ed è possibile usare qualsiasi subnet IP. Questa subnet non deve esistere nella rete fisica.
- vSwitch name "External". VSwitch esterno nei computer locali di Azure. Assicurarsi di usare lo stesso vSwitch usato per la distribuzione SDN.
- Gateway "10.20.0.1". Questo indirizzo è il gateway per la rete virtuale.
- Server DNS "10.127.130.7". Server DNS per la rete virtuale.
$vnet = New-AksHciNetworkSetting –name "myvnet" –vswitchName "External" -k8sNodeIpPoolStart "10.20.0.2" -k8sNodeIpPoolEnd "10.20.0.255" -ipAddressPrefix "10.20.0.0/24" -gateway "10.20.0.1" -dnsServers "10.127.130.7"
Parametro Descrizione -name
Nome della rete virtuale nel servizio Azure Kubernetes abilitato da Arc (deve essere in minuscolo). -vswitchName
Nome di vSwitch esterno nei computer locali di Azure. Usare lo stesso vSwitch usato per la distribuzione SDN. -k8sNodeIpPoolStart
-k8sNodeIpPoolEnd
Intervallo di inizio/fine IP della rete virtuale SDN. -ipAddressPrefix
Subnet di rete virtuale nella notazione CIDR. -gateway
-dnsServers
Gateway e server DNS della rete virtuale SDN. Per altre informazioni su questi parametri, vedere New-AksHciNetworkSetting.
Nella stessa finestra di PowerShell usata nel passaggio 1 creare un pool vip per informare il servizio Azure Kubernetes degli indirizzi IP che possono essere usati dalla rete logica di bilanciamento del carico SDN:
$VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
Parametro Descrizione -name
Rete logica "PublicVIP" fornita durante la configurazione dei servizi di bilanciamento del carico SDN. All'interno del cmdlet, questo nome deve essere minuscolo. -vipPoolStart
Intervallo di avvio IP della rete logica usata per il pool VIP del servizio di bilanciamento del carico pubblico. È necessario usare un intervallo di indirizzi dalla rete logica SDN "PublicVIP". -vipPoolEnd
Intervallo ip finale della rete logica usata per il pool VIP del servizio di bilanciamento del carico pubblico. È necessario usare un intervallo di indirizzi dalla rete logica SDN "PublicVIP". Nella stessa finestra di PowerShell usata nel passaggio 2 creare la configurazione del servizio Azure Kubernetes per SDN fornendo riferimenti alle reti SDN di destinazione e specificando le impostazioni di rete ($vnet, $vipPool) definite in precedenza:
Set-AksHciConfig –imageDir "C:\ClusterStorage\Volume1\ImageStore" –workingDir "C:\ClusterStorage\Volume1\WorkDir" –cloudConfigLocation "C:\ClusterStorage\Volume1\Config" –vnet $vnet –useNetworkController –NetworkControllerFqdnOrIpAddress "nc.contoso.com" –networkControllerLbSubnetRef "/logicalnetworks/PublicVIP/subnets/my_vip_subnet" –networkControllerLnetRef "/logicalnetworks/HNVPA" -vipPool $vipPool
La rete logica HNVPA viene usata come provider sottostante per la rete virtuale Arc del servizio Azure Kubernetes.
Se si usa un'assegnazione di indirizzo IP statico per i nodi del cluster locale di Azure, è necessario specificare anche il
CloudServiceCidr
parametro . Questo parametro è l'indirizzo IP del servizio cloud MOC e deve trovarsi nella stessa subnet dei nodi del cluster locale di Azure. Per altre informazioni, vedere Servizio cloud locale Microsoft.Parametro Descrizione –imageDir
Percorso in cui Il servizio Azure Kubernetes Arc archivia le immagini del disco rigido virtuale. Questo percorso deve essere un percorso di archiviazione condiviso o una condivisione SMB. –workingDir
Percorso in cui sono archiviati i file di piccole dimensioni per il modulo. Questo percorso deve essere un percorso di archiviazione condiviso o una condivisione SMB. -cloudConfigLocation
Percorso della directory in cui è archiviata la configurazione dell'agente cloud. Questo percorso deve essere un percorso di archiviazione condiviso o una condivisione SMB. -vnet
Nome della AksHciNetworkSetting
variabile creata nel passaggio precedente-useNetworkController
Abilitare l'integrazione con SDN. -networkControllerFqdnOrIpAddress
FQDN del controller di rete. È possibile ottenere il nome di dominio completo eseguendo Get-NetworkController
nella macchina virtuale del controller di rete e usando ilRestName
parametro .-networkControllerLbSubnetRef
Riferimento alla subnet di rete logica VIP pubblica configurata nel controller di rete. È possibile ottenere questa subnet eseguendo il Get-NetworkControllerLogicalSubnet
cmdlet . Quando si usa questo cmdlet, usarePublicVIP
comeLogicalNetworkId
. IVipPoolStart
parametri evipPoolEnd
nelNew-AksHciVipPoolSetting
cmdlet devono far parte della subnet a cui viene fatto riferimento qui.-networkControllerLnetRef
In genere, questo valore è "/logicalnetworks/HNVPA". -vipPool
Pool di indirizzi VIP usato come indirizzi IP front-end per il bilanciamento del carico. Per altre informazioni su questi parametri, vedere Set-AksHciConfig.
Accedere ad Azure e configurare le impostazioni di registrazione
Seguire le istruzioni riportate qui per configurare le impostazioni di registrazione.
Nota
Se non si dispone delle autorizzazioni di proprietario, è consigliabile usare un'entità servizio di Azure.
Installare il servizio Azure Kubernetes
Al termine della configurazione del servizio Azure Kubernetes, è possibile installare il servizio Azure Kubernetes in locale di Azure.
Install-AksHci
Al termine dell'installazione, viene creata una macchina virtuale del piano di controllo (cluster di gestione) e la relativa scheda di interfaccia di rete vm viene collegata alla rete SDN.
Raccogliere log da un SDN e un servizio Azure Kubernetes nell'ambiente locale di Azure
Con SDN e servizio Azure Kubernetes in Locale di Azure si ottiene l'isolamento dei nodi del servizio Azure Kubernetes nelle reti virtuali. Poiché sono isolati, è necessario importare un nuovo script di raccolta log del servizio Azure Kubernetes-HCI SDN ed eseguire un comando modificato che usa il servizio di bilanciamento del carico per recuperare i log dai nodi:
Install-Module -Name AksHciSdnLogCollector -Repository PSGallery
Get-AksHciLogsSdn
Commenti e suggerimenti/problemi
Vedere le risorse self-help qui per SDN e qui per AKS-HCI.
Passaggi successivi
Successivamente, è possibile creare cluster del carico di lavoro e distribuire le applicazioni. Tutte le schede di interfaccia di rete delle macchine virtuali del servizio Azure Kubernetes abilitate da Arc vengono collegate facilmente alla rete virtuale SDN fornita durante l'installazione. Il servizio di bilanciamento del carico software SDN viene usato anche come servizio di bilanciamento del carico esterno per tutti i servizi Kubernetes e funge da servizio di bilanciamento del carico per il server API nei piani di controllo Kubernetes.