Condividi tramite


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.

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:

  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 ed è possibile usare qualsiasi subnet IP. Questa subnet non deve esistere nella rete fisica.
    2. vSwitch name "External". VSwitch esterno nei computer locali di Azure. Assicurarsi di usare lo stesso vSwitch usato 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 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.

  2. 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".
  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 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 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 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.