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.
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 AzureStackCloudZie Supported AKS Engine Versions (Ondersteunde versies van AKS-engine) voor een volledige toewijzing van de AKS-engine, AKS-basisafbeelding en Kubernetes-versies.
Verzamel de informatie die u nodig hebt om de opdracht uit te
upgradevoeren. 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). 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 FSAls 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
- 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. - 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.xdoor de beoogde versie. - 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.
- Voer de
aks-engine upgradeopdracht 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:
- Zoek en bewerk het
api-model.jsonbestand dat is gegenereerd tijdens de implementatie. Dit moet hetzelfde bestand zijn dat wordt gebruikt voor elke upgrade- of schaalbewerking metaks-engine. - Zoek de secties voor
masterProfileenagentPoolProfiles, in deze secties wijzigt u de waarde van indistroaks-ubuntu-18.04. - Sla het bestand
api-model.jsonop en gebruik hetapi-model.jsonbestand inaks-engin upgradeuw opdracht zoals u zou doen in de stappen voorapi-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
- Meer informatie over de AKS-engine op Azure Stack Hub
- Een Kubernetes-cluster schalen op Azure Stack Hub