Upravit

Sdílet prostřednictvím


Řešení chyb při povolování nebo zakazování Služby Azure Arc v clusterech úloh AKS v AKS povolených službou Arc

Platí pro: AKS v Azure Local, AKS na Windows Serveru

Tento článek popisuje chyby, se kterými se můžete setkat (a jejich alternativní řešení) při připojování nebo odpojení clusterů úloh AKS ke službě Azure Arc pomocí rutin Enable-AksHciArcConnection PowerShellu a Disable-AksHciArcConnection v AKS Arc. Informace o problémech, které nejsou popsané v tomto článku, najdete v tématu Řešení potíží s Kubernetes s podporou Arc.

Pokud se na vás nevztahují žádná z uvedených alternativních řešení, můžete také otevřít problém s podporou.

Chyba: Cluster úloh s názvem my-aks-cluster nebyl nalezen.

Tato chyba znamená, že jste cluster úloh nevytvořili nebo jste nesprávně napsali název clusteru úloh.

Spusťte příkaz Get-AksHciCluster a ujistěte se, že máte správný název nebo že cluster, ke kterému se chcete připojit, existuje.

Chyba: "System.Management.Automation.RemoteException Spuštění procesového clusteru onboardingu "azure-arc-onboarding" set..."

K následující chybě může dojít, když pomocí Centra pro správu Windows vytvoříte cluster úloh a připojíte ho k Kubernetes s podporou Arc:

System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set. User "azure-arc-onboarding" set. Context "azure-arc-onboarding" created. Switched to context "azure-arc-onboarding". Azure login az login: error: argument --password/-p: expected one argument usage: az login [-h] [--verbose] [--debug] [--only-show-errors] [--output {json,jsonc,yaml,yamlc,table,tsv,none}] [--query JMESPATH] [--username USERNAME] [--password PASSWORD] [--service-principal] [--tenant TENANT] [--allow-no-subscriptions] [-i] [--use-device-code] [--use-cert-sn-issuer] : Job Failed Condition]

Pokud chcete tento problém vyřešit, projděte si následující možnosti:

  • Možnost 1: Odstraňte cluster úloh a zkuste to znovu pomocí Centra pro správu Windows.
  • Možnost 2: V PowerShellu zkontrolujte, jestli se cluster úspěšně vytvořil spuštěním příkazu Get-AksHciCluster a pak pomocí enable-AksHciArcConnection připojte cluster ke službě Arc.

Povolení AksHciArcConnection selže, pokud se k přihlášení k Azure používá Connect-AzAccount

Když se přihlašujete Connect-AzAccount k Azure, můžete nastavit jiné předplatné jako výchozí kontext než výchozí kontext, který jste zadali jako vstup Set-AksHciRegistration. Po spuštění Enable-AksHciArcConnectionpříkaz očekává, že se v Set-AksHciRegistrationpředplatném používá . Enable-AksHciArcConnection Ale získá výchozí sadu předplatného Connect-AzAccountpomocí , a proto může způsobit chybu.

Pokud chcete této chybě zabránit, postupujte podle jedné z následujících možností:

  • Možnost 1: Spusťte přihlášení Set-AksHciRegistration k Azure se stejnými parametry (předplatné a skupina prostředků), které jste použili při prvním spuštění příkazu pro připojení hostitele AKS k Azure pro účely fakturace. Pak můžete použít Enable-AksHciArcConnection -Name <ClusterName> s výchozími hodnotami a váš cluster bude připojený ke službě Arc v rámci předplatného fakturace hostitele AKS a skupiny prostředků.

  • Možnost 2: Spuštění Enable-AksHciArcRegistration se všemi parametry, , , resource groupsubscriptionlocation, tenanta secret, pro připojení clusteru ke službě Azure Arc v jiném předplatném a skupině prostředků než hostitel AKS. Měli byste také spustit Enable-AksHciArcRegistration , pokud nemáte dostatečná oprávnění k připojení clusteru ke službě Azure Arc pomocí účtu Azure (například pokud nejste vlastníkem předplatného).

Chyba: Vypršel časový limit čekání na podmínku

Tato chyba obvykle odkazuje na jeden z následujících problémů:

  • Clustery byly vytvořeny na virtuálním počítači Azure ve virtualizovaném prostředí nebo jste nasadili AKS v Azure Local na více úrovních virtualizace.
  • Pomalý internet způsobil časový limit.

Pokud se na vás vztahuje některý z výše uvedených scénářů, spusťte Disable-AksHciArcConnection a zkuste se připojit znovu. Pokud výše uvedený scénář neplatí pro vás, otevřete problém s podporou AKS v Azure Local.

Chyba: Tajné kódy sh.helm.release.v1.azure-arc.v1 se nenašly.

Tato chyba značí, že se nepodařilo dosáhnout vašeho serveru rozhraní API Kubernetes.

Zkuste příkaz spustit Disable-AksHciArcConnection znovu a pak přejděte na web Azure Portal a ověřte, že se váš connectedCluster prostředek skutečně odstranil. Můžete také spustit kubectl get ns -A , abyste potvrdili, azure-arcže obor názvů neexistuje ve vašem clusteru.

Chyba: Připojení k Azure se nezdařilo. Spusťte set-AksHciRegistration a zkuste to znovu.

Tato chyba znamená, že vypršela platnost přihlašovacích údajů k Azure.

Před opětovným spuštěním Enable-AksHciArcConnection příkazu se přihlaste Set-AksHciRegistration k Azure. Při opětovném spuštění Set-AksHciRegistrationnezapomeňte použít stejné podrobnosti o předplatném a skupině prostředků, které jste použili při první registraci hostitele AKS do Azure k fakturaci. Pokud příkaz znovu spustíte s jiným předplatným nebo skupinou prostředků, nebudou zaregistrované. Jakmile je předplatné a skupina prostředků nastavené Set-AksHciRegistration, není možné je změnit bez odinstalace AKS Arc.

Chyba: My-Cluster není platný název clusteru. Názvy musí být malá a musí odpovídat vzoru regulárního výrazu: ^[a-z0-9][a-z0-9-]*[a-z0-9]$"

Tato chyba značí, že cluster úloh neodpovídá konvenci vytváření názvů Kubernetes.

Jak naznačuje tato chyba, ujistěte se, že je název clusteru malými písmeny a odpovídá vzoru regulárního výrazu: ^[a-z0-9][a-z0-9]*[a-z0-9]$.

Chyba: "addons.msft.microsoft "demo-arc-onboarding" již existuje"

Tato chyba obvykle znamená, že už jste cluster AKS připojili k Kubernetes s podporou Arc. Pokud chcete ověřit, že je připojený, přejděte na Web Azure Portal a zkontrolujte v předplatném a skupině prostředků, které jste zadali při spuštění Set-AksHciRegistration (pokud jste použili výchozí hodnoty) nebo Enable-AksHciArcConnection (pokud jste nepoužívali výchozí hodnoty). Spuštěním az connectedk8s show příkazu Azure CLI můžete také ověřit, jestli je váš AKS v místním clusteru Azure připojený k Azure. Pokud cluster úloh nevidíte, spusťte Disable-AksHciArcConnection ho a zkuste to znovu.

Chyba: Autorest/azure: Služba vrátila chybu. Status=404 Code="ResourceNotFound"..."

Tato chyba znamená, že Azure nemůže najít prostředek Azure Resource Manageru connectedCluster přidružený k vašemu clusteru:

"autorest/azure: Služba vrátila chybu. Status=404 Code="ResourceNotFound" Message="Prostředek Microsoft.Kubernetes/connectedClusters/my-workload-cluster" v rámci skupiny prostředků AKS-HCI2 nebyl nalezen. Další podrobnosti najdete na https://aka.ms/ARMResourceNotFoundFix"]"

K této chybě může dojít v následujících případech:

  • Při spuštění rutiny Disable-AksHciArcConnection jste zadali nesprávnou skupinu prostředků nebo předplatné.
  • Prostředek jste odstranili ručně na webu Azure Portal.
  • Azure Resource Manager nemůže váš prostředek Azure najít.

Pokud chcete tuto chybu vyřešit, jak je uvedeno v chybové zprávě, podívejte se na řešení chyb, které se nenašly.

Chyba: Chyba při odinstalaci doplňků clusteru: Obory názvů Azure-Arc se nenašly

Tato chyba obvykle znamená, že jste už odinstalovali agenty Arc z clusteru úloh nebo jste ručně odstranili azure-arc obor názvů pomocí kubectl příkazu.

Přejděte na web Azure Portal a ověřte, že nemáte žádné nevracené prostředky. Ověřte například, že v předplatném a skupině prostředků nevidíte connectedCluster prostředek.

Chyba: Předplatné Azure není správně nakonfigurované

K tomuto problému může dojít, pokud jste nenakonfigurovali předplatné Azure s poskytovateli prostředků Kubernetes s podporou Arc. V současné době zkontrolujeme a Microsoft.Kubernetes Microsoft.KubernetesConfiguration nakonfigurujeme.

Další informace o povolení těchto poskytovatelů prostředků najdete v tématu Registrace poskytovatelů pro Kubernetes s podporou Arc.

Chyba: V oboru názvů azure-arc nejde přečíst objekt ConfigMap azure-clusterconfig

K tomuto problému může dojít při pokusu o opětovné povolení připojení Arc v clusteru AKS po zakázání existujícího připojení. Příčinou chyby je změna oboru názvů, ve kterém jsou uložené tajné kódy Azure Arc.

Kroky, které vedou k chybě, jsou:

  1. Připojení clusteru úloh ke službě Azure Arc pomocí Enable-AksHciArcConnection -name $clusterName.
  2. Odpojte cluster od Azure Arc: Disable-AksHciArcConnection -name $clusterName.
  3. Znovu připojte cluster úloh ke službě Azure Arc pomocí tohoto příkazu: Enable-AksHciArcConnection -name $clusterName.

Chyba:

returned a non zero exit code 1 [Error: Job azure-arc-onboarding terminated with Failed to run CLI command: Error from server (NotFound): namespaces "azure-arc"
not found
System.Management.Automation.RemoteException
ERROR: Unable to read ConfigMap 'azure-clusterconfig' in 'azure-arc' namespace:
Error Response: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"configmaps \"azure-clusterconfig\" not
found","reason":"NotFound","details":{"name":"azure-clusterconfig","kind":"configmaps"},"code":404}
System.Management.Automation.RemoteException
System.Management.Automation.RemoteException
: Job Failed Condition

Enable-AksHciArcConnection vždy selže a po spuštění Disable-AksHciArcConnectionexistuje ve zbývajícím tajném kódu v oboru názvů azure-arc-release. Pokud chcete zkontrolovat, jestli tajný klíč existuje, spusťte následující příkaz a ujistěte se, že není uvedený žádný tajný klíč:

kubectl get secret -nazure-arc-release sh.helm.release.v1.azure-arc.v1

Chcete-li tento problém vyřešit, odstraňte obor názvů azure-arc-release po spuštění Disable-AksHciArcConnection:

$clusterName = "<name of cluster>"
Get-AksHciCredential -name $clusterName
kubectl delete namespace azure-arc-release
Disable-AksHciArcConnection -name $clusterName
Enable-AksHciArcConnection -name $clusterName