Problemen met de AKS-engine in Azure Stack Hub oplossen

Mogelijk treedt er een probleem op 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 controleer de foutcodes voor aangepaste scriptextensie. U kunt ook een GitHub probleem voor de AKS-engine openen.

Problemen met de installatie van de AKS-engine oplossen

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

U vindt instructies voor het gebruik van GoFish om de AKS-engine te installeren via het opdrachtregelprogramma voor aks-engine installeren

Knooppunt- en clusterlogboeken verzamelen

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

Vereisten

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

In deze handleiding wordt ook ervan uitgegaan dat u een cluster hebt geïmplementeerd met behulp van de AKS-engine. Zie Een Kubernetes-cluster implementeren met de AKS-engine in 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 op 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 dat relevante bestanden verzamelt en zipt, en het .ZIP-bestand naar uw lokale computer downloadt.

SSH-verificatie

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

logboeken Upload naar een opslagaccountcontainer

Zodra de clusterlogboeken zijn opgehaald, kan de AKS-engine deze opslaan op een Azure Storage Accountcontainer als optionele parameter --upload-sas-url is ingesteld. 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

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

Knooppunten kunnen niet worden gekoppeld aan het cluster

Verzamelt standaard aks-engine get-logs logboeken van knooppunten die verbinding hebben gemaakt met 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 aks-engine get-logs

Ervan uitgaande dat u een cluster hebt geïmplementeerd en het API-model dat oorspronkelijk is gebruikt om dat cluster te implementeren, wordt opgeslagen _output/<dnsPrefix>/apimodel.json, kunt u logboeken verzamelen waarop een opdracht wordt uitgevoerd, 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
--location Yes Azure-locatie van de resourcegroep van het cluster.
--api-model Yes Pad naar het gegenereerde API-model voor het cluster.
--ssh-host Yes FQDN of IP-adres van een SSH-listener die alle knooppunten in het cluster kan bereiken.
--linux-ssh-private-key Yes Pad naar een persoonlijke SSH-sleutel die kan worden gebruikt om een externe sessie te maken op de Linux-knooppunten van het cluster.
--output-directory No Uitvoermap, afgeleid van --api-model als deze ontbreekt.
--control-plane-only No Verzamel alleen logboeken van besturingsvlakknooppunten.
--vm-names No Verzamel alleen logboeken van de opgegeven VM's (door komma's gescheiden namen).
--upload-sas-url No Azure Storage SAS-URL van account om de verzamelde logboeken te uploaden.

Foutcodes voor aangepaste scriptextensie controleren

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 /var/log/azure/cluster-provision.logvastgelegd. De fouten worden weergegeven in de portal. De foutcode kan nuttig zijn bij het vaststellen van het probleem. Zie voor meer informatie over de CSE-afsluitcodes cse_helpers.sh.

Kubernetes-logboeken verstrekken aan een Microsoft-ondersteuningstechnicus

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

Uw operator kan de logboeken die u hebt gemaakt, combineren met andere systeemlogboeken die mogelijk nodig zijn door Microsoft-ondersteuning. De operator kan deze beschikbaar maken voor de Microsoft.

U kunt Kubernetes-logboeken op verschillende manieren 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 voor een opslagaccount hebt 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 Upload logboeken naar een opslagaccountcontainer voor instructies.
  • Als u een cloudoperator bent, kunt u het volgende doen:

Problemen met GitHub 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.jsondat 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 een beschadigd knooppunt.

Volgende stappen