Share via


Distribuire la rete SDN (Microsoft Software Defined Networking)

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 la Load Balancer software SDN per tutti gli scenari di bilanciamento del carico arc del servizio Azure Kubernetes. Il servizio Azure Kubernetes abilitato da Azure Arc offre una piattaforma contenitore completamente supportata che può eseguire applicazioni native del cloud nella piattaforma di orchestrazione del contenitore Kubernetes. L'architettura supporta l'esecuzione di carichi di lavoro Windows e Linux virtualizzati.

Limitazioni

Le funzionalità seguenti non sono incluse nell'ambito e non sono supportate in questa versione di disponibilità generale:

  • Collegamento di pod e contenitori a una rete virtuale SDN.
    • I pod usano Flannel o Calico (impostazione predefinita) come provider di rete.
  • Applicazione dei criteri di rete tramite il Gruppi di sicurezza di rete SDN.
    • La Gruppi di sicurezza di rete SDN può comunque essere configurata all'esterno di AKS Arc usando gli strumenti SDN (REST/PowerShell/Windows Admin Center/SCVMM), ma gli oggetti NetworkPolicy Kubernetes non li configurano.
  • Collegamento delle schede di interfaccia di rete della macchina virtuale di Azure Kubernetes a reti logiche SDN.
  • Installazione con Windows Admin Center.
  • Host fisico per la connettività di vm arc del servizio Azure Kubernetes: le schede di interfaccia di rete della macchina virtuale sono aggiunte a una rete virtuale SDN e pertanto non sono accessibili dall'host per impostazione predefinita. A questo punto, è possibile abilitare questa connettività manualmente collegando un IP pubblico direttamente alla macchina virtuale usando il software SDN Load Balancer.

Prerequisiti

Per distribuire il servizio Azure Kubernetes abilitato da Arc con SDN, assicurarsi che l'ambiente soddisfi i criteri di distribuzione sia di Arc che di SDN del servizio Azure Kubernetes.

Nota

L'integrazione SDN con AKS Arc richiede solo controller di rete e software Load Balancer. Le macchine virtuali gateway sono facoltative.

Installare e preparare SDN per AKS Arc

Il primo passaggio consiste nell'installare SDN. Per installare SDN, è consigliabile 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 di SDN Express, è necessario che venga visualizzata una schermata che segnala lo stato come integro.

Se qualcosa è andato male o viene segnalato come non integro, vedere Risoluzione dei problemi di SDN.

È importante che SDN sia integro prima di procedere. Se si distribuisce SDN in un nuovo ambiente, è anche consigliabile creare macchine virtuali di test e verificare la connettività agli indirizzi IP del servizio di bilanciamento del carico. Vedere come creare e collegare macchine virtuali a una rete virtuale SDN usando Windows Admin Center.

Passaggi per installare il servizio Azure Kubernetes

Inizializzare e preparare tutti i computer host fisici per AKS 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 AKS-HCI PowerShell, vedere Installare il modulo PowerShell del servizio Azure Kubernetes.See Install the AksHci PowerShell module for information about install 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 server HCI di Azure Stack per guidare la creazione di AKS Arc. Prima dell'installazione sono necessari tre passaggi:

  1. Configurare le impostazioni di rete del servizio Azure Kubernetes per SDN; ad esempio usando:

    1. Rete virtuale SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Una rete virtualizzata e è possibile usare qualsiasi subnet IP. Questa subnet non deve esistere nella rete fisica.
    2. Nome vSwitch "External". VSwitch esterno nei server Azure Stack HCI. Assicurarsi di usare la stessa vSwitch usata per la distribuzione SDN.
    3. Gateway "10.20.0.1". Questo indirizzo è il gateway per la rete virtuale.
    4. 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 abilitata da Arc (deve essere minuscolo).
    -vswitchName Nome di vSwitch esterno nei server HCI di Azure Stack. Usare la stessa vSwitch usata 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.

  2. Nella stessa finestra di PowerShell usata nel passaggio 1 creare un pool VIP per informare il servizio Azure Kubernetes che può essere usato 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 inizio 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 di reti logiche usate per il pool VIP del servizio di bilanciamento del carico pubblico. È necessario usare un intervallo di indirizzi dalla rete logica SDN "PublicVIP".
  3. 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 specificare 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 AKS Arc.

    Se si usa un'assegnazione di indirizzo IP statico per i nodi del cluster Azure Stack HCI, è 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 Azure Stack HCI. Per altre informazioni, vedere Servizio cloud locale Microsoft.

    Parametro Descrizione
    –imageDir Percorso in cui AKS 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 vengono archiviati piccoli file per il modulo. Questo percorso deve essere un percorso di archiviazione condiviso o una condivisione SMB.
    -cloudConfigLocation Percorso della directory in cui viene 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 il RestName 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, usare PublicVIP come LogicalNetworkId. I VipPoolStart parametri e vipPoolEnd nel New-AksHciVipPoolSetting cmdlet devono far parte della subnet a cui fa riferimento qui.
    -networkControllerLnetRef In genere, questo valore è "/logicalnetworks/HNVPA".
    -vipPool Pool 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 Azure Stack HCI.

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 dal servizio Azure Kubernetes nell'ambiente HCI

Con SDN e servizio Azure Kubernetes in HCI, 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 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 il servizio Azure Kubernetes-HCI.

Passaggi successivi

Successivamente, è possibile creare cluster di carico di lavoro e distribuire le applicazioni. Tutte le schede di interfaccia di rete della macchina virtuale del servizio Azure Kubernetes abilitate da Arc sono 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.