Upgrade uitvoeren van Basic Load Balancer in Azure Kubernetes Service (AKS)

In dit artikel leert u hoe u uw Basic Load Balancer-exemplaren kunt upgraden naar Standard Load Balancer in Azure Kubernetes Services (AKS). Wij raden aan de Standard Load Balancer te gebruiken voor alle productie-instanties. Het biedt veel belangrijke verschillen in uw infrastructuur. Zie de officiële richtlijnen voor de upgrade van Basic Load Balancer naar Standard Load Balancer buiten AKS voor hulp bij het upgraden van Basic Load Balancer.

Belangrijk

Vanaf 30 september 2025 biedt Azure Kubernetes Service (AKS) geen ondersteuning meer voor Basic Load Balancer. Om mogelijke serviceonderbrekingen te voorkomen, raden we u aan Standard Load Balancer te gebruiken voor nieuwe implementaties en bestaande implementaties te upgraden naar de Standard Load Balancer. Zie voor meer informatie over deze afschaffing, het GitHub-issue over de afschaffing en de aankondiging over de afschaffing van Azure Updates. Als u op de hoogte wilt blijven van aankondigingen en updates, volg de AKS-release-opmerkingen.

Note

Voor clusters die gebruikmaken van zowel beschikbaarheidssets als de Basic Load Balancer, is er een afzonderlijke az aks update opdracht die u moet uitvoeren om beide migraties tegelijk uit te voeren (beschikbaarheidssets naar virtuele-machineknooppuntgroepen en Basic Load Balancer naar Standard Load Balancer). Zie de migratierichtlijnen voor beschikbaarheidssets voor stappen voor het uitvoeren van deze migratie.

Voordat u begint

Bekijk de volgende informatie voordat u met de migratie begint:

  • Downtime treedt op tijdens de migratie. Plan de downtime dienovereenkomstig.
  • Zodra de migratie is gestart, is terugdraaien niet toegestaan.
  • Dit proces migreert ook uw standaard-IP naar een standaard-IP, terwijl de binnenkomende IP-adressen die aan de load balancer zijn gekoppeld, hetzelfde blijven. Er worden nieuwe openbare IP-adressen gemaakt en gekoppeld aan de uitgaande standard load balancer-regels om uitgaand clusterverkeer te verwerken.

Vereiste voorwaarden

Uw cluster moet voldoen aan de volgende vereisten voordat u de migratie kunt uitvoeren:

  • De minimale Kubernetes-versie voor dit script is 1.27. Als u uw AKS-cluster wilt upgraden, raadpleegt u Een AKS-cluster upgraden.
  • U moet de Azure CLI hebben geïnstalleerd. De minimale versie die u nodig hebt, is 2.76.0.
  • Als in het cluster Key Management Service met een persoonlijke sleutelkluis wordt uitgevoerd, moet u Key Management Service uitschakelen voordat u de migratie uitvoert. Zie KMS uitschakelen voor meer informatie.
  • U moet alle ValidatingAdmissionWebhooks en MutatingAdmissionWebhooks uitschakelen voordat u de migratie uitvoert.

Basic Load Balancer upgraden naar Standard Load Balancer

  1. Voer een upgrade uit van uw Basic Load Balancer naar Standard Load Balancer met behulp van de az aks update opdracht en de --load-balancer-sku vlag ingesteld op Standard.

    az aks update \
      --name $CLUSTER_NAME \
      --resource-group $RESOURCE_GROUP \
      --load-balancer-sku=Standard
    
  2. Controleer of de migratie is geslaagd met behulp van de az aks show opdracht.

    az aks show \
      --name $CLUSTER_NAME \
      --resource-group $RESOURCE_GROUP
    

    Controleer in de uitvoer of het load-balancer type is ingesteld op Standard.

  3. Controleer of alle pods en services succesvol worden uitgevoerd met behulp van de kubectl get pods en kubectl get svc opdrachten.

    kubectl get svc -A
    kubectl get pods -A
    

Nieuwe uitgaande IP-adressen bevestigen

U kunt de nieuwe IP-adressen die zijn gekoppeld aan uitgaande regels bevestigen door de resource-id's voor de IP-adressen te controleren en vervolgens de IP-adressen op te sommen.

  1. Haal de resource-id voor de uitgaande IP-adressen op met behulp van de az aks show opdracht.

    az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query networkProfile.loadBalancerProfile.effectiveOutboundIPs[].id
    
  2. Haal het nieuwe IP-adres voor elke resource-id op met behulp van de az network public-ip show opdracht.

    az network public-ip show --ids $IP_RESOURCE_ID --query ipAddress -o tsv
    

Veelgestelde vragen

Waarom krijg ik Error: “Load Balancer SKU 'basic' is invalid; must use 'standard'. bij het maken van een nieuw AKS-cluster of het uitvoeren van een upgrade?

Microsoft heeft de Basic Load Balancer-SKU voor bepaalde AKS-bewerkingen afgeschaft en het maken wordt nu geblokkeerd in sommige regio's.

Als u dit probleem wilt oplossen, moet u --load-balancer-sku standard specificeren wanneer u een nieuw cluster maakt. Voorbeeld:

az aks create \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --load-balancer-sku standard

Waarom kan ik mijn Basic Load Balancer niet wijzigen in de Standard Load Balancer?

De Load Balancer-SKU is onveranderbaar na het maken in AKS, omdat het een beheerde resource is die eigendom is van het cluster.

U kunt dit oplossen met een van de volgende opties:

  • Optie 1: Gebruik de az aks update run opdracht om Basic Load Balancer te upgraden naar Standard. Zie Basic Load Balancer upgraden in Azure Kubernetes Service (AKS) voor meer informatie.
  • Optie 2: Maak een nieuw AKS-cluster met Standard Load Balancer (blauwgroene migratie) en verplaats eventuele bestaande workloads.

Waarom kan ik mijn openbare IP niet vinden na een upgrade van Basic naar Standard Load Balancer?

Het Load Balancer-object heeft de verwijzing naar uw openbare IP-resource verloren tijdens de migratie. Dit kan gebeuren als het IP-adres is gekoppeld aan de Basic SKU Load Balancer en niet opnieuw is gebonden.

Ga als volgt te werk om dit probleem op te lossen:

  1. Zorg ervoor dat het nieuwe openbare STANDAARD-IP-adres bestaat in de juiste resourcegroep.

  2. Ontkoppel het opnieuw in het servicemanifest met behulp van de volgende configuratie:

    annotations:
      service.beta.kubernetes.io/azure-load-balancer-ipv4: <your-ip>
    

Wanneer u de load balancer migreert op een privécluster zonder een openbaar IP-adres, waarom wordt er nog steeds een openbaar IP-adres gemaakt tijdens de migratie?

Als outboundTypeLoadBalancer is, richt AKS automatisch een openbaar IP-adres (PIP) in, ongeacht de Load Balancer SKU.

Ga als volgt te werk om dit probleem op te lossen:

  1. Schakel outboundType over naar userDefinedRouting een volledig privécluster.
  2. Zorg ervoor dat aangepaste uitgaande routering is geconfigureerd via Azure Firewall/NVA.

Waarom mislukt de migratie in de installatie van mijn interne Load Balancer?

Huidige hulpprogramma's voor migratie bieden geen ondersteuning voor load balancers van intern virtueel netwerk (VNet) met Basic naar Standard.

Ga als volgt te werk om dit probleem op te lossen:

  1. Maak het cluster opnieuw in hetzelfde VNet met Standard Load Balancer.
  2. Werkbelastingen implementeren en interne naamomzetting valideren.

Mijn knooppuntgroepen maken gebruik van beschikbaarheidssets. Heb ik nog steeds problemen, zelfs na de migratie van Load Balancer?

Ja. Als uw knooppuntgroepen beschikbaarheidssets gebruiken, worden ze na 30 september 2025 ook afgeschaft in AKS.

Ga als volgt te werk om dit probleem op te lossen:

  1. Voor clusters die gebruikmaken van zowel beschikbaarheidssets als de Basic Load Balancer, moet u een afzonderlijke az aks update opdracht uitvoeren om beide migraties tegelijk uit te voeren (beschikbaarheidssets naar knooppuntgroepen van virtuele machines en Basic Load Balancer naar Standard Load Balancer). Zie de migratierichtlijnen voor beschikbaarheidssets voor stappen voor het uitvoeren van deze migratie.
  2. Na de upgrade moeten Azure CLI- of REST-API's worden gebruikt om CRUD-bewerkingen uit te voeren of de pool te beheren. Controleer de beperkingen.

Moet ik standaardwebhooks verwijderen voordat ik een upgrade uitvoert?

Nee. Als er geen andere ValidatingAdmissionWebhooks of MutatingAdmissionWebhooks aanwezig zijn in het cluster, dan zijn de standaardwebhooks in het controlevlak waarschijnlijk voldoende tijdens de migratie.

Standaardwebhooks zijn onder andere:

  • aks-node-mutating-webhook
  • webhook-admission-controller
  • node-validating-webhook

Welke toegang is vereist om de migratieopdrachten uit te voeren?

Als u de migratieopdrachten wilt uitvoeren, hebt u het volgende nodig:

  • De rol van Inzender of Eigenaar op het abonnement of de resourcegroep.
  • De Azure CLI-versie moet ≥ 2.72.0 zijn.
  • De preview-extensieversie van AKS moet ≥ 0.5.170 zijn.

Hoe kan ik zien of KMS-versleuteling (Key Management Service) is uitgeschakeld?

U kunt controleren of KMS-versleuteling is ingeschakeld op uw AKS-cluster met behulp van de az aks list opdracht.

az aks list --query "[].{Name:name, KmsEnabled:securityProfile.azureKeyVaultKms.enabled, KeyId:securityProfile.azureKeyVaultKms.keyId}"
  • Als de uitvoer wordt weergegeven "KmsEnabled": null, betekent dit dat KMS-versleuteling niet is ingeschakeld voor dat cluster en dat u alle stappen kunt overslaan om deze uit te schakelen. Voorbeeld:

      {
    
        "KeyId": null,
    
        "KmsEnabled": null,
    
        "Name": "myAKSCluster"
    
      },
    ...
    
  • Als KMS is ingeschakeld en u deze wilt uitschakelen, raadpleegt u KMS-versleuteling uitschakelen.

Volgende stappen

Zie Netwerkconcepten voor Azure Kubernetes Service (AKS) voor meer informatie over AKS-netwerken.