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-engine
van .
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-names
in:
--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:
Zie Logboeken uploaden naar een opslagaccountcontainer voor instructies.aks-engine get-logs -upload-sas-url <SAS-URL>
- Als u een cloudoperator bent, kunt u het volgende doen:
- Gebruik de blade Help en ondersteuning in de Azure Stack Hub-beheerportal om logboeken te uploaden. Zie Logboeken nu verzenden met de beheerdersportal voor instructies.
- Gebruik de PowerShell-cmdlet Get-AzureStackLog met behulp van het Privileged End Point (PEP) Zie Logboeken nu verzenden met PowerShell voor instructies.
GitHub-problemen openen
Als u de implementatiefout niet kunt oplossen, kunt u een GitHub-probleem openen.
Open een GitHub-probleem in de opslagplaats van de AKS-engine.
Voeg een titel toe met de volgende indeling: CSE-fout:
exit code <INSERT_YOUR_EXIT_CODE>
.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-opdracht
get nodes
.De inhoud van
/var/log/azure/cluster-provision.log
van een beschadigd knooppunt.
Volgende stappen
- Meer informatie over de AKS-engine in Azure Stack Hub.