Sdílet prostřednictvím


Řešení potíží s připojeným rozšířením registru

Tento článek popisuje některé běžné chybové zprávy, které se můžou zobrazit při instalaci nebo aktualizaci připojeného rozšíření registru pro clustery Kubernetes s podporou Arc.

Jak je nainstalované připojené rozšíření registru

Připojené rozšíření registru se vydává jako chart Helm a nainstaluje ho Helm V3. Všechny komponenty připojeného rozšíření registru jsou nainstalovány v oboru názvů připojeného registru . Stav rozšíření můžete zkontrolovat pomocí následujících příkazů.

# get the extension status 
az k8s-extension show --name <extension-name>  
# check status of all pods of connected registry extension 
kubectl get pod -n connected-registry    
# get events of the extension 
kubectl get events -n connected-registry   --sort-by='.lastTimestamp'

Běžné chyby

Chyba: Nejde znovu použít název, který se stále používá

Tato chyba znamená, že zadaný název rozšíření již existuje. Pokud se název už používá, musíte použít jiný název.

Chyba: Nejde vytvořit nový obsah v registru připojeném k oboru názvů, protože se ukončuje

K této chybě dochází, když není dokončena operace odinstalace a aktivuje se jiná operace instalace. Před provedením dalších akcí můžete spuštěním az k8s-extension show příkazu zkontrolovat stav zřizování rozšíření a ujistit se, že se rozšíření odinstalovalo.

Chyba: Stahování selhalo, protože se nenašla cesta k diagramu

K této chybě dochází, když zadáte nesprávnou verzi rozšíření. Musíte se ujistit, že zadaná verze existuje. Pokud chcete používat nejnovější verzi, nemusíte zadávat --version.

Obvyklé situace

Scénář 1: Instalace selže, ale nezobrazuje chybovou zprávu

Pokud rozšíření při vytváření nebo aktualizaci vygeneruje chybovou zprávu, můžete zkontrolovat, kde se vytvoření nezdařilo, spuštěním az k8s-extension list příkazu:

az k8s-extension list \ 
--resource-group <my-resource-group-name> \ 
--cluster-name <my-cluster-name> \ 
--cluster-type connectedClusters

Řešení: Restartování clusteru, registrace poskytovatele služeb nebo odstranění a přeinstalace připojeného registru

Pokud chcete tento problém vyřešit, vyzkoušejte následující metody:

  • Restartujte cluster Kubernetes Služby Arc.

  • Zaregistrujte poskytovatele služby KubernetesConfiguration.

  • Vynuťte odstranění a přeinstalujte připojené rozšíření registru.

Scénář 2: Cílová připojená verze registru neexistuje

Při pokusu o instalaci připojeného rozšíření registru pro cílení na konkrétní verzi se zobrazí chybová zpráva s oznámením, že připojená verze registru neexistuje.

Řešení: Znovu nainstalujte podporovanou připojenou verzi registru.

Zkuste rozšíření nainstalovat znovu. Ujistěte se, že používáte podporovanou verzi připojeného registru.

Běžné problémy

Problém: Vytvoření rozšíření se zablokuje ve spuštěném stavu

Možnost 1: Problém s trvalou žádostí o objem (PVC)

  • Kontrola stavu připojeného registru PVC
kubectl get pvc -n connected-registry -o yaml connected-registry-pvc

Hodnota fáze pod stavem by měla být vázána. Pokud se nezmění z nevyřízené změny, odstraňte rozšíření.

  • Zkontrolujte, jestli je požadovaná třída úložiště v seznamu tříd úložiště:
kubectl get storageclass --all-namespaces
  • Pokud ne, znovu vytvořte rozšíření a přidejte
--config pvc.storageClassName=”standard”` 
  • Případně může být problém s tím, že nemáte dostatek místa pro PVC. Opětovné vytvoření rozšíření pomocí parametru
--config pvc.storageRequest=”250Gi”` 

Možnost 2: Připojovací řetězec je chybný

  • Zkontrolujte protokoly připojeného podu registru:
kubectl get pod -n connected-registry
  • Zkopírujte název připojeného podu registru (např. connected-registry-8d886cf7f-w4prp) a vložte ho do následujícího příkazu:
kubectl logs -n connected-registry connected-registry-8d886cf7f-w4prp
  • Pokud se zobrazí následující chybová zpráva, je připojovací řetězec připojeného registru chybný:
Response: '{"errors":[{"code":"UNAUTHORIZED","message":"Incorrect Password","detail":"Please visit https://aka.ms/acr#UNAUTHORIZED for more information."}]}' 
  • Ujistěte se, že byl vytvořen soubor protected-settings-extension.json .
cat protected-settings-extension.json
  • V případě potřeby znovu vygenerujte protected-settings-extension.json
cat << EOF > protected-settings-extension.json  
{ 
"connectionString": "$(az acr connected-registry get-settings \ 
--name myconnectedregistry \ 
--registry myacrregistry \ 
--parent-protocol https \ 
--generate-password 1 \ 
--query ACR_REGISTRY_CONNECTION_STRING --output tsv --yes)" 
} 
EOF
  • Aktualizace rozšíření tak, aby zahrnovalo nové připojovací řetězec
az k8s-extension update \ 
--cluster-name <myarck8scluster> \ 
--cluster-type connectedClusters \ 
--name <myconnectedregistry> \ 
-g <myresourcegroup> \ 
--config-protected-file protected-settings-extension.json

Problém: Vytvoření rozšíření, ale připojený registr není stav Online

Možnost 1: Předchozí připojený registr nebyl deaktivován

K tomuto scénáři obvykle dochází v případě, že se odstranilo předchozí připojené rozšíření registru a pro stejný připojený registr se vytvořil nový.

  • Zkontrolujte protokoly připojeného podu registru:
kubectl get pod -n connected-registry
  • Zkopírujte název připojeného podu registru (například connected-registry-xxxxxxxxx-xxxxxx) a vložte ho do následujícího příkazu:
kubectl logs -n connected-registry connected-registry-xxxxxxxxx-xxxxx
  • Pokud se zobrazí následující chybová zpráva, je potřeba deaktivovat připojený registr:

Response: '{"errors":[{"code":"ALREADY_ACTIVATED","message":"Failed to activate the connected registry as it is already activated by another instance. Only one instance is supported at any time.","detail":"Please visit https://aka.ms/acr#ALREADY_ACTIVATED for more information."}]}'

  • Spuštěním následujícího příkazu deaktivujte:
az acr connected-registry deactivate -n <myconnectedregistry> -r <mycontainerregistry>

Po několika minutách by se měl znovu vytvořit připojený pod registru a chyba by měla zmizet.

Povolit protokolování

  • Spuštěním příkazu [az acr connected-registry update] aktualizujte připojené rozšíření registru na úrovni protokolu ladění:
az acr connected-registry update --registry mycloudregistry --name myacrregistry --log-level debug
  • Při řešení potíží je možné použít následující úrovně protokolu:

    • Ladění poskytuje podrobné informace pro účely ladění.

    • Informace poskytují obecné informace pro účely ladění.

    • Upozornění indikuje potenciální problémy, které ještě nejsou chyby, ale můžou se stát jedním, pokud se žádná akce neprovádí.

    • Protokoluje chyby, které brání dokončení operace.

    • Žádné protokolování nevymíná, takže se nezapisují žádné zprávy protokolu.

  • Podle potřeby upravte úroveň protokolu, abyste mohli tento problém vyřešit.

Aktivní výběr nabízí další možnosti pro úpravu podrobností protokolů při ladění problémů s připojeným registrem. Existují tyto možnosti:

Úroveň protokolu připojeného registru je specifická pro operace připojeného registru a určuje závažnost zpráv, které připojený registr zpracovává. Toto nastavení slouží ke správě chování protokolování samotného připojeného registru.

--log-level nastavte úroveň protokolu v instanci. Úroveň protokolu určuje závažnost zpráv, které protokolovací rutina zpracovává. Nastavením úrovně protokolu můžete vyfiltrovat zprávy, které jsou pod určitou závažností. Pokud například nastavíte úroveň protokolu na "upozornění", protokolovací nástroj zpracovává upozornění, chyby a kritické zprávy, ale ignoruje informace a ladicí zprávy.

Příkaz az cli log level řídí úroveň podrobností výstupních zpráv během operace Azure CLI. Azure CLI (az) poskytuje několik možností podrobností pro úrovně protokolů, které je možné upravit tak, aby kontrolovala množství výstupních informací během operace:

--verbose zvyšuje úroveň podrobností protokolů. Poskytuje podrobnější informace než výchozí nastavení, které může být užitečné pro identifikaci problémů.

--debug umožňuje úplné protokoly ladění. Protokoly ladění poskytují nejpodrobnější informace, včetně všech informací uvedených na úrovni "podrobné" a další podrobnosti určené pro diagnostiku problémů.

Další kroky