Az AKS-motor hibaelhárítása az Azure Stack Hubon

Probléma merülhet fel az AKS-motor Azure Stack Hubon való üzembe helyezése vagy használata során. Ez a cikk az AKS-motor üzembe helyezésének hibaelhárítási lépéseit ismerteti. Gyűjtsön adatokat az AKS-motorról, gyűjtse össze a Kubernetes-naplókat, és tekintse át az egyéni szkriptbővítmény hibakódjait. Megnyithat egy GitHub-problémát is az AKS-motorhoz.

Megjegyzés

Az AKSe 0.75.3-es és újabb verziói esetében az alábbi parancsok a aks-engine következővel kezdődnek, nem pedig aks-enginea következővelaks-engine-azurestack: .

Az AKS-motor telepítésének hibaelhárítása

Ha a korábbi telepítési lépések sikertelenek, telepítheti az AKS-motort a GoFish csomagkezelővel. A GoFish platformfüggetlen Homebrew-ként írja le magát.

Itt talál útmutatást az AKS-motor GoFish használatával történő telepítéséhez.

Csomópont- és fürtnaplók gyűjtése

A csomópont- és fürtnaplók gyűjtésére vonatkozó utasításokat a Csomópont- és fürtnaplók lekérése című témakörben találja.

Előfeltételek

Ez az útmutató feltételezi, hogy már letöltötte az Azure CLI-t és az AKS-motort.

Ez az útmutató azt is feltételezi, hogy üzembe helyezett egy fürtöt az AKS-motorral. További információ: Kubernetes-fürt üzembe helyezése AKS-motorral az Azure Stack Hubon .

Naplók lekérése

A aks-engine get-logs parancs hasznos lehet a fürttel kapcsolatos problémák elhárításához. A parancs fájlokat hoz létre, gyűjt és tölt le a munkaállomásra. A fájlok közé tartozik a csomópontkonfiguráció, a fürt állapota és konfigurációja, valamint a naplófájlok beállítása.

Magas szinten: a parancs úgy működik, hogy minden csomóponton létrehoz egy SSH-munkamenetet, végrehajt egy naplógyűjtési szkriptet, amely összegyűjti és tömöríti a releváns fájlokat, és letölti a .ZIP fájlt a helyi számítógépre.

SSH-hitelesítés

Érvényes SSH-titkos kulcsra lesz szüksége ahhoz, hogy SSH-munkamenetet hozzon létre a linuxos fürtcsomópontokon. A Windows hitelesítő adatai az API-modellben vannak tárolva, és onnan lesznek betöltve. Állítsa windowsprofile.sshEnabled true (igaz) értékre az SSH engedélyezéséhez a Windows-csomópontokon.

Naplók feltöltése tárfióktárolóba

A fürtnaplók sikeres lekérése után az AKS-motor mentheti őket egy Azure Storage-fióktárolóba, ha a választható paraméter --upload-sas-url be van állítva. Az AKS-motor elvárja, hogy a tároló neve a megadott SAS URL-cím része legyen. A várt formátum a következő: https://{blob-service-uri}/{container-name}?{sas-token}.

Megjegyzés

Az AD FS-identitásszolgáltatót használó egyéni felhők tárfiókjai még nem támogatottak.

A csomópontok nem tudnak csatlakozni a fürthöz

Alapértelmezés szerint aks-engine get-logs naplókat gyűjt a fürthöz sikeresen csatlakozó csomópontokról. Ha olyan virtuális gépekről szeretne naplókat gyűjteni, amelyek nem tudtak csatlakozni a fürthöz, állítsa be a jelölőt --vm-names:

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

Az aks-engine get-logs használata

Feltételezve, hogy üzembe helyezett egy fürtöt, és a fürt üzembe helyezéséhez eredetileg használt API-modell a helyen _output/<dnsPrefix>/apimodel.jsontalálható, akkor gyűjthet olyan naplókat, amelyek a következőhöz hasonló parancsot futtatnak:

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

Paraméterek

Paraméter Kötelező Leírás
--Helyen Igen A fürt erőforráscsoportjának Azure-beli helye.
--api-model Igen A fürthöz létrehozott API-modell elérési útja.
--ssh-host Igen A fürt összes csomópontját elérő SSH-figyelő teljes tartománynevét vagy IP-címét.
--linux-ssh-private-key Igen Egy SSH titkos kulcs elérési útja, amellyel távoli munkamenet hozható létre a linuxos fürtcsomópontokon.
--output-directory Nem Kimeneti könyvtár, amelyből származik --api-model , ha hiányzik.
--control-plane-only Nem Csak a vezérlősík csomópontjairól gyűjtsön naplókat.
--vm-names Nem Csak a megadott virtuális gépekről gyűjtsön naplókat (vesszővel tagolt nevek).
--upload-sas-url Nem Azure Storage-fiók SAS-URL-címe az összegyűjtött naplók feltöltéséhez.

Egyéni szkriptbővítmény hibakódjainak áttekintése

Az AKS-motor minden Ubuntu-kiszolgálóhoz létrehoz egy szkriptet az egyéni szkriptbővítmény (CSE) erőforrásaként az üzembehelyezési feladatok elvégzéséhez. Ha a szkript hibát jelez, hibát naplóz a következőben: /var/log/azure/cluster-provision.log. A hibák a portálon jelennek meg. A hibakód segíthet a probléma megoldásában. A CSE kilépési kódjaival kapcsolatos további információkért lásd: cse_helpers.sh.

Kubernetes-naplók biztosítása a Microsoft támogatási szakemberének

Ha a naplók gyűjtése és vizsgálata után sem tudja megoldani a problémát, érdemes lehet elindítania egy támogatási jegy létrehozásának folyamatát, és meg kell adnia az összegyűjtött naplókat.

Az operátor kombinálhatja az Ön által létrehozott naplókat a Microsoft ügyfélszolgálata által esetleg szükséges egyéb rendszernaplókkal. Az operátor elérhetővé teheti azokat a Microsoft számára.

A Kubernetes-naplókat többféleképpen is megadhatja:

  • Kapcsolatba léphet az Azure Stack Hub-operátorral. Az operátor a .ZIP fájlban tárolt naplókból származó információkat használja a támogatási eset létrehozásához.
  • Ha rendelkezik egy tárfiók SAS-URL-címével, ahol feltöltheti a Kubernetes-naplókat, a következő parancsot és jelölőt is megadhatja az SAS URL-címmel a naplók tárfiókba való mentéséhez:
    aks-engine get-logs -upload-sas-url <SAS-URL>
    
    Útmutatásért lásd: Naplók feltöltése tárfióktárolóba.
  • Ha Ön felhőszolgáltató, a következőket teheti:

GitHub-problémák megnyitása

Ha nem tudja megoldani az üzembehelyezési hibát, megnyithat egy GitHub-problémát.

  1. Nyisson meg egy GitHub-problémát az AKS-motor adattárában.

  2. Adjon hozzá egy címet a következő formátumban: CSE-hiba: exit code <INSERT_YOUR_EXIT_CODE>.

  3. Adja meg a következő információkat a problémában:

    • A fürt üzembe helyezéséhez használt fürtkonfigurációs fájl apimodel.json. Távolítsa el az összes titkos kódot és kulcsot, mielőtt közzétenné a GitHubon.

    • A következő kubectl parancs get nodeskimenete.

    • A nem kifogástalan állapotú /var/log/azure/cluster-provision.log csomópont tartalma.

Következő lépések