Creare e usare un servizio di bilanciamento del carico personalizzato nel servizio Azure Kubernetes in Azure Stack HCI e Windows Server

Questo articolo illustra come creare e usare un servizio di bilanciamento del carico personalizzato. Nel servizio Azure Kubernetes in Azure Stack HCI e Windows Server si usano i servizi di bilanciamento del carico per inviare richieste al server API Kubernetes e per gestire il traffico ai servizi applicazioni. Quando si usa un servizio di bilanciamento del carico personalizzato, kube-vip distribuisce automaticamente per gestire il bilanciamento del carico delle richieste nel server API Kubernetes e per assicurarsi che sia a disponibilità elevata.

Nota

È anche possibile usare altri servizi di bilanciamento del carico, ad esempio MetalLB o Software Defined Networking (SDN) per bilanciare il carico del traffico ai servizi applicazione.

Prima di iniziare

È necessario aver installato il servizio Azure Kubernetes in Azure Stack HCI e Windows Server e fornito un intervallo di indirizzi IP virtuali per il servizio di bilanciamento del carico durante il passaggio di configurazione della rete durante l'installazione.

Configurare un servizio di bilanciamento del carico personalizzato

Avviso

Se si sceglie di distribuire il servizio di bilanciamento del carico personalizzato, il cluster Kubernetes non sarà raggiungibile dopo l'installazione. Se si distribuiscono servizi con type=LoadBalancer, anche i servizi non saranno raggiungibile finché non si configura il servizio di bilanciamento del carico.

Questa configurazione presuppone che si voglia sfruttare un servizio di bilanciamento del carico personalizzato nel cluster. In questo caso, il cluster del carico di lavoro viene distribuito senza un servizio di bilanciamento del carico.

  1. Creare una configurazione del servizio di bilanciamento del carico usando il cmdlet New-AksHciLoadBalancerSetting e quindi selezionare none per il loadBalancerSku parametro:

    $lbCfg=New-AksHciLoadBalancerSetting -name "myLb" -loadBalancerSku "none" 
    
  2. Distribuire un cluster del carico di lavoro senza fornire la configurazione del servizio di bilanciamento del carico usando il comando seguente:

    New-AksHciCluster -name "summertime" -nodePoolName mynodepool -nodeCount 2 -OSType linux -nodeVmSize Standard_A4_v2 -loadBalancerSettings $lbCfg 
    
  3. Usare Get-AksHciCluster per verificare che il cluster sia stato distribuito correttamente con i nodi del piano di controllo in esecuzione kube-vip e che le richieste del server API siano raggiungibili.

  4. Configurare manualmente il servizio di bilanciamento del carico.

Se si esegue un aggiornamento, la configurazione del servizio di bilanciamento del carico (loadBalancerSku e count) definita durante l'installazione rimarrà invariata dopo il completamento dell'aggiornamento. Tuttavia, se si vuole aggiornare loadBalancerSku durante un aggiornamento, è necessario ridistribuire i cluster del carico di lavoro. Se si dispone di cluster esistenti che eseguono un servizio di bilanciamento del carico basato su HAProxy, è possibile continuare a eseguire i carichi di lavoro e l'aggiornamento verrà completato correttamente.

Importante

Se si passa dall'uso di un servizio di bilanciamento del carico personalizzato all'uso del servizio di bilanciamento del carico predefinito, è necessario ridistribuire il cluster del carico di lavoro con la nuova configurazione del servizio di bilanciamento del carico. Per istruzioni su come configurare il servizio di bilanciamento del carico predefinito, vedere Configurare il servizio di bilanciamento del carico.

Passaggi successivi

Per altre informazioni sui servizi Kubernetes, vedere la documentazione dei servizi Kubernetes.