Problemen met AKS-engine in Azure Stack Hub oplossen

Mogelijk ondervindt u een probleem bij het implementeren of werken met de AKS-engine in Azure Stack Hub. In dit artikel worden de stappen beschreven voor het oplossen van problemen met de implementatie van de AKS-engine. Verzamel informatie over uw AKS-engine, verzamel Kubernetes-logboeken en bekijk foutcodes voor aangepaste scriptextensie. U kunt ook een GitHub-probleem voor AKS-engine openen.

Notitie

Voor AKSe versie 0.75.3 en hoger beginnen de aks-engine onderstaande opdrachten met aks-engine-azurestack in plaats aks-enginevan .

Problemen met de installatie van de AKS-engine oplossen

Als de vorige installatiestappen zijn mislukt, kunt u de AKS-engine installeren met behulp van de GoFish-pakketbeheerder. GoFish beschrijft zichzelf als een platformoverschrijdende Homebrew.

Hier vindt u instructies voor het gebruik van GoFish om de AKS-engine te installeren.

Knooppunt- en clusterlogboeken verzamelen

U vindt de instructies voor het verzamelen van knooppunt- en clusterlogboeken in Knooppunt- en clusterlogboeken ophalen.

Vereisten

In deze handleiding wordt ervan uitgegaan dat u de Azure CLI en de AKS-engine al hebt gedownload.

In deze handleiding wordt er ook van uitgegaan dat u een cluster hebt geïmplementeerd met behulp van de AKS-engine. Zie Een Kubernetes-cluster implementeren met AKS-engine op Azure Stack Hub voor meer informatie.

Logboeken ophalen

De aks-engine get-logs opdracht kan handig zijn om problemen met uw cluster op te lossen. De opdracht produceert, verzamelt en downloadt een set bestanden naar uw werkstation. De bestanden omvatten knooppuntconfiguratie, clusterstatus en configuratie, en logboekbestanden instellen.

Op hoog niveau: de opdracht werkt door een SSH-sessie in elk knooppunt tot stand te brengen, een logboekverzamelingsscript uit te voeren waarmee relevante bestanden worden verzameld en gezipt, en het .ZIP-bestand naar uw lokale computer te downloaden.

SSH-verificatie

U hebt een geldige persoonlijke SSH-sleutel nodig om een SSH-sessie naar de Linux-knooppunten van het cluster tot stand te brengen. Windows-referenties worden opgeslagen in het API-model en worden van daaruit geladen. Stel in windowsprofile.sshEnabled op true om SSH in uw Windows-knooppunten in te schakelen.

Logboeken uploaden naar een opslagaccountcontainer

Zodra de clusterlogboeken zijn opgehaald, kan de AKS-engine deze opslaan in een Azure Storage-accountcontainer als de optionele parameter --upload-sas-url is ingesteld. De AKS-engine verwacht dat de containernaam deel uitmaakt van de opgegeven SAS-URL. De verwachte indeling is https://{blob-service-uri}/{container-name}?{sas-token}.

Notitie

Opslagaccounts in aangepaste clouds met behulp van de AD FS-id-provider worden nog niet ondersteund.

Knooppunten kunnen niet worden gekoppeld aan het cluster

Standaard worden aks-engine get-logs logboeken verzameld van knooppunten die zijn toegevoegd aan het cluster. Als u logboeken wilt verzamelen van VM's die niet konden worden toegevoegd aan het cluster, stelt u de vlag --vm-namesin:

--vm-name k8s-pool-01,k8s-pool-02

Gebruik voor get-logs van aks-engine

Ervan uitgaande dat u een cluster hebt geïmplementeerd en dat het API-model dat oorspronkelijk is gebruikt om dat cluster te implementeren, is opgeslagen in _output/<dnsPrefix>/apimodel.json, kunt u logboeken verzamelen met een opdracht zoals:

aks-engine get-logs \
    --location <location> \
    --api-model _output/<dnsPrefix>/apimodel.json \
    --ssh-host <dnsPrefix>.<location>.cloudapp.azure.com \
    --linux-ssh-private-key ~/.ssh/id_rsa

Parameters

Parameter Vereist Beschrijving
--Locatie Ja Azure-locatie van de resourcegroep van het cluster.
--api-model Ja Pad naar het gegenereerde API-model voor het cluster.
--ssh-host Ja FQDN, of IP-adres, van een SSH-listener die alle knooppunten in het cluster kan bereiken.
--linux-ssh-private-key Ja Pad naar een persoonlijke SSH-sleutel die kan worden gebruikt voor het maken van een externe sessie op de Linux-knooppunten van het cluster.
--output-directory Nee Uitvoermap, afgeleid van --api-model indien ontbreekt.
--control-plane-only Nee Verzamel alleen logboeken van besturingsvlakknooppunten.
--vm-names Nee Verzamel alleen logboeken van de opgegeven VM's (door komma's gescheiden namen).
--upload-sas-url Nee SAS-URL van Azure Storage-account om de verzamelde logboeken te uploaden.

Foutcodes voor aangepaste scriptextensie bekijken

De AKS-engine produceert een script voor elke Ubuntu-server als resource voor de aangepaste scriptextensie (CSE) om implementatietaken uit te voeren. Als het script een fout genereert, wordt er een fout in logboeken opgeslagen in /var/log/azure/cluster-provision.log. De fouten worden weergegeven in de portal. De foutcode kan handig zijn bij het achterhalen van het probleem. Zie voor meer informatie over de CSE-afsluitcodes cse_helpers.sh.

Kubernetes-logboeken verstrekken aan een Ondersteuningstechnicus van Microsoft

Als u het probleem nog steeds niet kunt oplossen nadat u logboeken hebt verzameld en bekeken, kunt u het proces voor het maken van een ondersteuningsticket starten en de logboeken opgeven die u hebt verzameld.

Uw operator kan de door u gemaakte logboeken combineren met andere systeemlogboeken die mogelijk nodig zijn voor Microsoft-ondersteuning. De operator kan deze beschikbaar stellen aan Microsoft.

U kunt Op verschillende manieren Kubernetes-logboeken opgeven:

  • U kunt contact opnemen met uw Azure Stack Hub-operator. Uw operator gebruikt de gegevens uit de logboeken die zijn opgeslagen in het .ZIP-bestand om de ondersteuningsaanvraag te maken.
  • Als u de SAS-URL hebt voor een opslagaccount waar u uw Kubernetes-logboeken kunt uploaden, kunt u de volgende opdracht en vlag toevoegen aan de SAS-URL om de logboeken op te slaan in het opslagaccount:
    aks-engine get-logs -upload-sas-url <SAS-URL>
    
    Zie Logboeken uploaden naar een opslagaccountcontainer voor instructies.
  • Als u een cloudoperator bent, kunt u het volgende doen:

GitHub-problemen openen

Als u de implementatiefout niet kunt oplossen, kunt u een GitHub-probleem openen.

  1. Open een GitHub-probleem in de opslagplaats van de AKS-engine.

  2. Voeg een titel toe met de volgende indeling: CSE-fout: exit code <INSERT_YOUR_EXIT_CODE>.

  3. Neem de volgende informatie op in het probleem:

    • Het clusterconfiguratiebestand, apimodel.json, dat wordt gebruikt om het cluster te implementeren. Verwijder alle geheimen en sleutels voordat u deze op GitHub plaatst.

    • De uitvoer van de volgende kubectl-opdrachtget nodes.

    • De inhoud van /var/log/azure/cluster-provision.log van een beschadigd knooppunt.

Volgende stappen