Migreren naar Azure Kubernetes Service (AKS)

Om u te helpen bij het plannen en uitvoeren van een geslaagde migratie naar Azure Kubernetes Service (AKS), vindt u in deze handleiding informatie over de huidige aanbevolen AKS-configuratie. Hoewel dit artikel niet over elk scenario gaat, bevat het koppelingen naar gedetailleerdere informatie voor het plannen van een geslaagde migratie.

In dit artikel vindt u een overzicht van de migratiedetails voor:

  • Toepassingen containeriseren via Azure Migrate
  • AKS met standaard load balancer en virtuele-machineschaalsets
  • Bestaande gekoppelde Azure-services
  • Geldige quota garanderen
  • Hoge beschikbaarheid en bedrijfscontinuïteit
  • Overwegingen voor stateless toepassingen
  • Overwegingen voor stateful toepassingen
  • Implementatie van de clusterconfiguratie

Notitie

Afhankelijk van uw scenario kunnen de volgende opensource-hulpprogramma's u helpen bij uw migratie:

Voordat u begint

  • Zorg ervoor dat uw doelversie van Kubernetes zich in het ondersteunde venster voor AKS bevindt. Oudere versies bevinden zich mogelijk niet binnen het ondersteunde bereik en vereisen een versie-upgrade voor AKS-ondersteuning. Zie AKS-ondersteunde Kubernetes-versies voor meer informatie.
  • Als u migreert naar een nieuwere versie van Kubernetes, controleert u het ondersteuningsbeleid voor Kubernetes-versie en -versie.

Een belangrijke procedure die u moet opnemen als onderdeel van uw migratieproces, is het onthouden van het volgen van veelgebruikte implementatie- en testpatronen. Het testen van uw toepassing vóór de implementatie is een belangrijke stap om de kwaliteit, functionaliteit en compatibiliteit met de doelomgeving te garanderen. Het kan u helpen bij het identificeren en oplossen van eventuele fouten, bugs of problemen die van invloed kunnen zijn op de prestaties, beveiliging of bruikbaarheid van de toepassing of onderliggende infrastructuur.

Azure Migrate gebruiken om uw toepassingen te migreren naar AKS

Azure Migrate biedt een geïntegreerd platform voor het evalueren en migreren naar on-premises Azure-servers, infrastructuur, toepassingen en gegevens. Voor AKS kunt u Azure Migrate gebruiken voor de volgende taken:

AKS met standaard load balancer en virtuele-machineschaalsets

AKS is een beheerde service die unieke mogelijkheden biedt met lagere beheeroverhead. Omdat AKS een beheerde service is, moet u een keuze maken uit een set AKS-ondersteunde regio's. Mogelijk moet u uw bestaande toepassingen wijzigen om ze in orde te houden op het door AKS beheerde besturingsvlak tijdens de overgang van uw bestaande cluster naar AKS.

We raden u aan om AKS-clusters te gebruiken die worden ondersteund door virtuele-machineschaalsets en de Azure Standard Load Balancer om ervoor te zorgen dat u de volgende functies krijgt:

AKS-clusters die worden ondersteund door beschikbaarheidssets van virtuele machines ontbreken ondersteuning voor veel van deze functies.

Een AKS-cluster maken met Standard Load Balancer en Virtuele-machineschaalsets

In het volgende voorbeeld wordt een AKS-cluster gemaakt met één knooppuntgroep die wordt ondersteund door een virtuele-machineschaalset (VM). Hiermee kan de automatische schaalaanpassing van clusters in de knooppuntgroep voor het cluster worden ingeschakeld en wordt minimaal één en maximaal drie knooppunten ingesteld.

  1. Maak een resourcegroep met behulp van de az group create opdracht.

    az group create --name myResourceGroup --location eastus
    
  2. Maak een AKS-cluster met behulp van de az aks create opdracht.

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --node-count 1 \
      --vm-set-type VirtualMachineScaleSets \
      --load-balancer-sku standard \
      --enable-cluster-autoscaler \
      --min-count 1 \
      --max-count 3
    

Bestaande gekoppelde Azure-services

Bij het migreren van clusters hebt u mogelijk externe Azure-services gekoppeld. Hoewel voor de volgende services geen resourcerecreatie is vereist, moeten verbindingen van vorige naar nieuwe clusters worden bijgewerkt om de functionaliteit te behouden.

  • Azure Container Registry
  • Log Analytics
  • Analyses van toepassingen
  • Traffic Manager
  • Opslagaccount
  • Externe databases

Geldige quota garanderen

Omdat andere VM's tijdens de migratie in uw abonnement worden geïmplementeerd, moet u controleren of uw quota en limieten voldoende zijn voor deze resources. Vraag indien nodig een verhoging van het vCPU-quotum aan.

Mogelijk moet u een verhoging aanvragen voor netwerkquota om ervoor te zorgen dat u geen IP-adressen opgeeft. Zie netwerken en IP-bereiken voor AKS voor meer informatie.

Zie Azure-abonnements- en servicelimieten voor meer informatie. Als u uw huidige quota wilt controleren, gaat u in Azure Portal naar de blade Abonnementen, selecteert u uw abonnement en selecteert u Vervolgens Gebruik en quota.

Hoge beschikbaarheid en bedrijfscontinuïteit

Als uw toepassing geen downtime kan verwerken, moet u de aanbevolen procedures voor migratiescenario's met hoge beschikbaarheid volgen. Lees meer over best practices voor complexe planning voor bedrijfscontinuïteit, herstel na noodgevallen en het maximaliseren van de uptime in Azure Kubernetes Service (AKS).

Voor complexe toepassingen migreert u doorgaans in de loop van de tijd in plaats van alles tegelijk, wat betekent dat de oude en nieuwe omgevingen mogelijk via het netwerk moeten communiceren. Toepassingen die eerder gebruikmaken van ClusterIP services om te communiceren, moeten mogelijk beschikbaar worden gemaakt als type LoadBalancer en op de juiste manier worden beveiligd.

Als u de migratie wilt voltooien, wilt u clients verwijzen naar de nieuwe services die worden uitgevoerd op AKS. U wordt aangeraden verkeer om te leiden door DNS bij te werken zodat deze verwijst naar de load balancer die zich voor uw AKS-cluster bevindt.

Azure Traffic Manager kan klanten omleiden naar het gewenste Kubernetes-cluster en toepassingsexemplaren. Traffic Manager is een op DNS gebaseerde load balancer voor verkeer dat netwerkverkeer over regio's kan verdelen. Voor de beste prestaties en redundantie stuurt u al het toepassingsverkeer via Traffic Manager voordat u naar uw AKS-cluster gaat.

In een implementatie met meerdere clusters moeten klanten verbinding maken met een Traffic Manager DNS-naam die verwijst naar de services op elk AKS-cluster. Definieer deze services met behulp van Traffic Manager-eindpunten. Elk eindpunt is het IP-adres van de service load balancer. Gebruik deze configuratie om netwerkverkeer van het Traffic Manager-eindpunt in één regio naar het eindpunt in een andere regio te leiden.

AKS with Traffic Manager

Azure Front Door Service is een andere optie voor het routeren van verkeer voor AKS-clusters. Met Azure Front Door Service kunt u de globale routering voor uw webverkeer definiëren, beheren en bewaken door te optimaliseren voor de beste prestaties en directe wereldwijde failover voor hoge beschikbaarheid.

Overwegingen voor stateless toepassingen

Migratie van stateless toepassingen omvat de volgende stappen:

  1. Pas uw resourcedefinities (YAML of Helm) toe op het nieuwe cluster.
  2. Zorg ervoor dat alles werkt zoals verwacht.
  3. Verkeer omleiden om uw nieuwe cluster te activeren.

Overwegingen voor stateful toepassingen

Plan uw migratie van stateful toepassingen zorgvuldig om gegevensverlies of onverwachte downtime te voorkomen.

Azure Files

In tegenstelling tot schijven kan Azure Files gelijktijdig worden gekoppeld aan meerdere hosts. In uw AKS-cluster verhinderen Azure en Kubernetes niet dat u een pod maakt die uw AKS-cluster nog steeds gebruikt. Als u gegevensverlies en onverwacht gedrag wilt voorkomen, moet u ervoor zorgen dat de clusters niet tegelijkertijd naar dezelfde bestanden schrijven.

Als uw toepassing meerdere replica's kan hosten die naar dezelfde bestandsshare verwijzen, volgt u de stateless migratiestappen en implementeert u uw YAML-definities in uw nieuwe cluster.

Als dat niet het probleem is, bestaat een mogelijke migratiebenadering uit de volgende stappen:

  1. Controleer of uw toepassing correct werkt.
  2. Wijs uw liveverkeer naar uw nieuwe AKS-cluster.
  3. Verbreek de verbinding met het oude cluster.

Als u wilt beginnen met een lege share en een kopie van de brongegevens wilt maken, kunt u de az storage file copy opdracht gebruiken om uw gegevens te migreren.

Permanente volumes migreren

Als u bestaande permanente volumes naar AKS migreert, voert u doorgaans de volgende stappen uit:

  1. Schrijfbewerkingen naar de toepassing.
    • Deze stap is optioneel en vereist downtime.
  2. Maak momentopnamen van de schijven.
  3. Nieuwe beheerde schijven maken op basis van de momentopnamen.
  4. Maak permanente volumes in AKS.
  5. Werk podspecificaties bij om bestaande volumes te gebruiken in plaats van PersistentVolumeClaims (statische inrichting).
  6. Implementeer uw toepassing in AKS.
  7. Controleer of uw toepassing correct werkt.
  8. Wijs uw liveverkeer naar uw nieuwe AKS-cluster.

Belangrijk

Als u ervoor kiest geen schrijfbewerkingen op te instellen, moet u gegevens repliceren naar de nieuwe implementatie. Anders mist u de gegevens die zijn geschreven nadat u de momentopnamen van de schijf hebt gemaakt.

Met de volgende opensource-hulpprogramma's kunt u beheerde schijven maken en volumes migreren tussen Kubernetes-clusters:

Implementatie van de clusterconfiguratie

U wordt aangeraden uw bestaande CI-pijplijn (Continuous Integration) en CONTINUOUS Delivery (CD) te gebruiken om een bekende goede configuratie in AKS te implementeren. U kunt Azure Pipelines gebruiken om uw toepassingen te bouwen en te implementeren in AKS. Kloon uw bestaande implementatietaken en zorg ervoor dat kubeconfig verwijst naar het nieuwe AKS-cluster.

Als dat niet mogelijk is, exporteert u resourcedefinities uit uw bestaande Kubernetes-cluster en past u deze vervolgens toe op AKS. U kunt objecten kubectl exporteren. Bijvoorbeeld:

kubectl get deployment -o yaml > deployments.yaml

Controleer de uitvoer en verwijder overbodige live gegevensvelden.

Bestaande resources verplaatsen naar een andere regio

Mogelijk wilt u uw AKS-cluster verplaatsen naar een andere regio die wordt ondersteund door AKS. U wordt aangeraden een nieuw cluster in de andere regio te maken en vervolgens uw resources en toepassingen in uw nieuwe cluster te implementeren.

Als er services worden uitgevoerd op uw AKS-cluster, moet u deze services installeren en configureren in uw cluster in de nieuwe regio.

In dit artikel hebben we de migratiedetails samengevat voor:

  • Toepassingen containeriseren via Azure Migrate
  • AKS met standaard load balancer en virtuele-machineschaalsets
  • Bestaande gekoppelde Azure-services
  • Geldige quota garanderen
  • Hoge beschikbaarheid en bedrijfscontinuïteit
  • Overwegingen voor stateless toepassingen
  • Overwegingen voor stateful toepassingen
  • Implementatie van de clusterconfiguratie