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-AksHciArcConnection
příkaz očekává, že se v Set-AksHciRegistration
předplatném používá . Enable-AksHciArcConnection
Ale získá výchozí sadu předplatného Connect-AzAccount
pomocí , 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žítEnable-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 group
subscription
location
,tenant
asecret
, 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é spustitEnable-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-AksHciRegistration
nezapomeň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:
- Připojení clusteru úloh ke službě Azure Arc pomocí
Enable-AksHciArcConnection -name $clusterName
. - Odpojte cluster od Azure Arc:
Disable-AksHciArcConnection -name $clusterName
. - 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-AksHciArcConnection
existuje 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