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:
Zie Upload logboeken 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 Beheerportal van Azure Stack Hub om logboeken te uploaden. Zie Logboeken nu verzenden met de beheerdersportal voor instructies.
- Gebruik de Cmdlet Get-AzureStackLog PowerShell met behulp van het Privileged End Point (PEP) voor instructies. Zie Logboeken nu verzenden met PowerShell.
Problemen met GitHub 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.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-opdracht
get nodes.De inhoud van
/var/log/azure/cluster-provision.logeen beschadigd knooppunt.
Volgende stappen
- Meer informatie over de AKS-engine in Azure Stack Hub.