Een Kubernetes-cluster op Azure Stack Hub bijwerken

Met de AKS-engine kunt u het cluster bijwerken dat oorspronkelijk is geïmplementeerd met behulp van het hulpprogramma . U kunt de clusters onderhouden met behulp van de AKS-engine. Uw onderhoudstaken zijn vergelijkbaar met elk IaaS-systeem. U moet rekening houden met de beschikbaarheid van nieuwe updates en de AKS-engine gebruiken om deze toe te passen.

Een cluster upgraden

Met de upgradeopdracht worden de Kubernetes-versie en de basisbesturingssysteemafbeelding bijgewerkt. Telkens wanneer u de upgradeopdracht voor elk knooppunt van het cluster hebt uitgevoerd, maakt de AKS-engine een nieuwe VM met behulp van de AKS-basisafbeelding die is gekoppeld aan de versie van de gebruikte AKS-engine . U kunt de opdracht gebruiken aks-engine upgrade om de valuta van elk hoofd- en agentknooppunt in uw cluster te onderhouden.

Microsoft beheert uw cluster niet. Microsoft biedt echter het hulpprogramma en de VM-afbeelding die u kunt gebruiken om uw cluster te beheren.

Voor geïmplementeerde clusterupgrades gaat u naar:

  • Kubernetes
  • Azure Stack Hub Kubernetes-provider
  • Base OS

Overweeg het volgende bij het upgraden van een productiecluster:

  • Gebruikt u de juiste clusterspecificatie (apimodel.json) en resourcegroep voor het doelcluster?
  • Gebruikt u een betrouwbare computer voor de clientmachine om de AKS-engine uit te voeren en van waaruit u upgradebewerkingen wilt uitvoeren?
  • Zorg ervoor dat u een back-upcluster hebt en dat het operationeel is.
  • Voer, indien mogelijk, de opdracht uit vanaf een VM in Azure Stack Hub omgeving om de netwerkhops en mogelijke verbindingsfouten te verminderen.
  • Zorg ervoor dat uw abonnement voldoende ruimte heeft voor het hele proces. Tijdens het proces worden nieuwe VM's toegewezen.
  • Er worden geen systeemupdates of geplande taken gepland.
  • Stel een gefaseerd upgrade in op een cluster dat precies is geconfigureerd als het productiecluster en test de upgrade daar voordat u dit doet in uw productiecluster

Stappen voor het upgraden naar een nieuwere Kubernetes-versie

Notitie

De AKS-basisafbeelding wordt ook geupgraded als u een nieuwere versie van de AKS-engine gebruikt en de afbeelding beschikbaar is in marketplace.

In de volgende instructies worden de minimale stappen gebruikt om de upgrade uit te voeren. Zie het artikel Kubernetes-clusters upgraden voor meer informatie.

  1. U moet eerst bepalen welke versies u kunt gebruiken voor de upgrade. Deze versie is afhankelijk van de versie die u momenteel hebt en gebruikt vervolgens die versiewaarde om de upgrade uit te voeren. De Kubernetes-versies die worden ondersteund door uw AKS-engine kunnen worden weergegeven door de volgende opdracht uit te voeren:

    aks-engine get-versions --azure-env AzureStackCloud
    

    Zie Supported AKS Engine Versions (Ondersteunde versies van AKS-engine) voor een volledige toewijzing van de AKS-engine, AKS-basisafbeelding en Kubernetes-versies.

  2. Verzamel de informatie die u nodig hebt om de opdracht uit te upgrade voeren. Voor de upgrade worden de volgende parameters gebruikt:

    Parameter Voorbeeld Beschrijving
    azure-env AzureStackCloud Om aan de AKS-engine aan te geven dat uw doelplatform Azure Stack Hub gebruikt AzureStackCloud.
    location lokaal De regionaam voor uw Azure Stack Hub. Voor de ASDK is de regio ingesteld op local.
    resource-group kube-rg Voer de naam van een nieuwe resourcegroep in of selecteer een bestaande resourcegroep. De resourcenaam moet alfanumeriek en kleine letters zijn.
    subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Voer uw abonnements-id in. Zie Abonneren op een aanbieding voor meer informatie
    api-model ./kubernetes-azurestack.json Pad naar het clusterconfiguratiebestand of API-model.
    client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Voer de GUID van de service-principal in. De client-id die is geïdentificeerd als de toepassings-id toen Azure Stack Hub beheerder de service-principal maakte.
    clientgeheim xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Voer het geheim van de service-principal in. Dit is het clientgeheim dat u hebt ingesteld bij het maken van uw service.
    identity-system Adfs Optioneel. Geef uw oplossing voor identiteitsbeheer op als u Active Directory Federated Services (AD FS).
  3. Voer de volgende opdracht uit als uw waarden zijn uitgevoerd:

    aks-engine upgrade \
    --azure-env AzureStackCloud \
    --location <for an ASDK is local> \
    --resource-group kube-rg \
    --subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --api-model kube-rg/apimodel.json \
    --upgrade-version 1.18.15 \
    --client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --identity-system adfs # required if using AD FS
    
  4. Als er om een of andere reden een fout is bij de upgradebewerking, kunt u de upgradeopdracht opnieuw uitvoeren nadat u het probleem hebt opgelost. De AKS-engine hervat de bewerking waarbij deze de vorige keer is mislukt.

Stappen om alleen de besturingssysteemafbeelding bij te upgraden

  1. Bekijk de tabel supported-kubernetes-versions en bepaal of u de versie van de AKS-engine en de AKS-basisafbeelding hebt die u voor de upgrade van plan bent. Als u de versie van aks-engine wilt weergeven, moet u het volgende uitvoeren: aks-engine version.
  2. Werk uw AKS-engine dienovereenkomstig bij op de computer waarop u de AKS-engine hebt geïnstalleerd: ./get-akse.sh --version vx.xx.x./get-akse.sh --version vx.xx.x door de beoogde versie.
  3. Vraag uw Azure Stack Hub-operator om de versie van de AKS-basisafbeelding toe te voegen die u nodig hebt in de Azure Stack Hub Marketplace die u wilt gebruiken.
  4. Voer de aks-engine upgrade opdracht uit met dezelfde versie van Kubernetes die u al gebruikt, maar voeg de toe --force. U ziet een voorbeeld in Een upgrade afdwingen.

Stappen voor het bijwerken van het cluster naar versie van het besturingssysteem Ubuntu 18.04

Met AKS-engineversie 0.60.1 en hoger kunt u uw cluster-VM's upgraden van Ubuntu 16.04 naar 18.04. Volg deze stappen:

  1. Zoek en bewerk het api-model.json bestand dat is gegenereerd tijdens de implementatie. Dit moet hetzelfde bestand zijn dat wordt gebruikt voor elke upgrade- of schaalbewerking met aks-engine.
  2. Zoek de secties voor masterProfile en agentPoolProfiles, in deze secties wijzigt u de waarde van in distroaks-ubuntu-18.04.
  3. Sla het bestand api-model.json op en gebruik het api-model.json bestand in aks-engin upgrade uw opdracht zoals u zou doen in de stappen voor api-model.json

Een upgrade afdwingen

Er zijn mogelijk voorwaarden waarin u een upgrade van uw cluster wilt forceren. Op dag één implementeert u bijvoorbeeld een cluster in een niet-verbonden omgeving met behulp van de nieuwste Kubernetes-versie. De volgende dag brengt Ubuntu een patch uit voor een beveiligingsprobleem waarvoor Microsoft een nieuwe AKS-basisafbeelding genereert. U kunt de nieuwe afbeelding toepassen door een upgrade af te dwingen met dezelfde Kubernetes-versie die u al hebt geïmplementeerd.

aks-engine upgrade \
--azure-env AzureStackCloud   
--location <for an ASDK is local> \
--resource-group kube-rg \
--subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--api-model kube-rg/apimodel.json \
--upgrade-version 1.18.15 \
--client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--force

Zie Upgrade forceren voor instructies.

Volgende stappen