Gäller för: AKS på Azure Local, AKS på Windows Server
Den här artikeln beskriver fel som kan uppstå (och deras lösningar) när du ansluter eller kopplar från dina AKS-arbetsbelastningskluster till Azure Arc med hjälp av PowerShell-cmdletar Enable-AksHciArcConnection
och Disable-AksHciArcConnection
i AKS Arc. Information om problem som inte beskrivs i den här artikeln finns i Felsöka Arc-aktiverade Kubernetes.
Du kan också öppna ett supportproblem om ingen av de listade lösningarna gäller för dig.
Fel: "Det gick inte att hitta ett arbetsbelastningskluster med namnet "my-aks-cluster"
Det här felet innebär att du inte har skapat arbetsbelastningsklustret, eller att du felaktigt stavade namnet på arbetsbelastningsklustret.
Kör Get-AksHciCluster för att se till att du har rätt namn eller att klustret som du vill ansluta till Arc finns.
Fel: "System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set..."
Följande fel kan inträffa när du använder Windows Admin Center för att skapa ett arbetsbelastningskluster och ansluta det till Arc-aktiverade Kubernetes:
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]
Lös problemet genom att gå igenom alternativen nedan:
- Alternativ 1: Ta bort arbetsbelastningsklustret och försök igen med Hjälp av Administrationscenter för Windows.
- Alternativ 2: I PowerShell kontrollerar du om klustret har skapats genom att köra kommandot Get-AksHciCluster och sedan använda Enable-AksHciArcConnection för att ansluta klustret till Arc.
"Enable-AksHciArcConnection" misslyckas om "Connect-AzAccount" används för att logga in på Azure
När du använder Connect-AzAccount
för att logga in på Azure kan du ange en annan prenumeration som standardkontext än den som du gav som indata till Set-AksHciRegistration
. När du sedan kör Enable-AksHciArcConnection
förväntar sig kommandot den prenumeration som används i Set-AksHciRegistration
. Hämtar dock Enable-AksHciArcConnection
standardprenumerationen med hjälp av Connect-AzAccount
, och kan därför orsaka ett fel.
Om du vill förhindra det här felet följer du något av alternativen nedan:
Alternativ 1: Kör
Set-AksHciRegistration
för att logga in på Azure med samma parametrar (prenumeration och resursgrupp) som du använde när du först körde kommandot för att ansluta AKS-värden till Azure för fakturering. Du kan sedan användaEnable-AksHciArcConnection -Name <ClusterName>
med standardvärden och klustret ansluts till Arc under AKS-värdfaktureringsprenumerationen och resursgruppen.Alternativ 2: Kör
Enable-AksHciArcRegistration
med alla parametrar,subscription
,resource group
,location
,tenant
ochsecret
, för att ansluta klustret till Azure Arc under en annan prenumeration och resursgrupp än AKS-värden. Du bör också köraEnable-AksHciArcRegistration
om du inte har tillräckligt med behörighet för att ansluta klustret till Azure Arc med ditt Azure-konto (till exempel om du inte är prenumerationsägare).
Fel: "Tidsgränsen för att vänta på villkoret"
Det här felet pekar vanligtvis på något av följande problem:
- Klustren skapades på en virtuell Azure-dator i en virtualiserad miljö, eller så distribuerade du AKS på Azure Local på flera virtualiseringsnivåer.
- Ett långsamt Internet orsakade tidsgränsen.
Om något av ovanstående scenarier gäller för dig kör du Disable-AksHciArcConnection och försöker ansluta igen. Om scenariot ovan inte gäller för dig öppnar du ett supportproblem för AKS på Azure Local.
Fel: "Hemligheterna "sh.helm.release.v1.azure-arc.v1" hittades inte"
Det här felet anger att Kubernetes API-servern inte kunde nås.
Försök att köra kommandot igen och gå sedan till Azure Portal för att bekräfta att resursen Disable-AksHciArcConnection
connectedCluster
faktiskt har tagits bort. Du kan också köra kubectl get ns -A
för att bekräfta att namnområdet, azure-arc
, inte finns i klustret.
Fel: "Anslutningen till Azure misslyckades. Kör Set-AksHciRegistration och försök igen
Det här felet innebär att dina inloggningsuppgifter till Azure har upphört att gälla.
Använd Set-AksHciRegistration
för att logga in på Azure innan du Enable-AksHciArcConnection
kör kommandot igen. När du kör Set-AksHciRegistration
om ska du se till att du använder samma prenumerations- och resursgruppsinformation som du använde när du först registrerade AKS-värden till Azure för fakturering. Om du kör kommandot igen med en annan prenumeration eller resursgrupp registreras de inte. När prenumerationen och resursgruppen har angetts i Set-AksHciRegistration
kan de inte ändras utan att AKS Arc avinstalleras.
Fel: "'My-Cluster' är inte ett giltigt klusternamn. Namnen måste vara gemener och matcha mönstret för reguljära uttryck: ^[a-z0-9][a-z0-9-]*[a-z0-9]$'"
Det här felet anger att arbetsbelastningsklustret inte följer Namngivningskonventionen för Kubernetes.
Som felet antyder kontrollerar du att klusternamnet är gemener och matchar mönster för reguljära uttryck: ^[a-z0-9][a-z0-9-]*[a-z0-9]$.
Fel: "addons.msft.microsoft "demo-arc-onboarding" finns redan
Det här felet innebär vanligtvis att du redan har anslutit AKS-klustret till Arc-aktiverade Kubernetes.
Bekräfta att den är ansluten genom att gå till Azure Portal och kontrollera under den prenumeration och resursgrupp som du angav när du körde Set-AksHciRegistration
(om du använde standardvärden) eller Enable-AksHciArcConnection
(om du inte använde standardvärden). Du kan också kontrollera om ditt AKS i Azure Local-klustret är anslutet till Azure genom att köra az connectedk8s show
Azure CLI-kommandot. Om du inte ser ditt arbetsbelastningskluster kör Disable-AksHciArcConnection
du och försöker igen.
Fel: "autorest/azure: Tjänsten returnerade ett fel. Status=404 Code="ResourceNotFound"..."
Det här felet innebär att Azure inte kan hitta den connectedCluster
Azure Resource Manager-resurs som är associerad med klustret:
"autorest/azure: Tjänsten returnerade ett fel. Status=404 Code="ResourceNotFound" Message="Resursen 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resursgruppen 'AKS-HCI2' hittades inte. Mer information finns i https://aka.ms/ARMResourceNotFoundFix"]"
Du kan stöta på det här felet om:
- Du angav en felaktig resursgrupp eller prenumeration när du körde cmdleten
Disable-AksHciArcConnection
. - Du har tagit bort resursen manuellt på Azure Portal.
- Azure Resource Manager kan inte hitta din Azure-resurs.
Information om hur du löser det här felet finns i åtgärda fel som inte hittades i resursen.
Fel: "Klustertillägg båge avinstallera fel: namnområden "azure-arc" hittades inte"
Det här felet innebär vanligtvis att du redan har avinstallerat Arc-agenter från ditt arbetsbelastningskluster eller att du har tagit azure-arc
bort namnområdet manuellt med kommandot kubectl
.
Gå till Azure Portal för att bekräfta att du inte har några läckta resurser. Kontrollera till exempel att du inte ser någon connectedCluster
resurs i prenumerationen och resursgruppen.
Fel: "Azure-prenumerationen är inte korrekt konfigurerad"
Du kan stöta på det här problemet om du inte har konfigurerat din Azure-prenumeration med Arc-aktiverade Kubernetes-resursproviders. Vi kontrollerar för närvarande att Microsoft.Kubernetes
och Microsoft.KubernetesConfiguration
är konfigurerade.
Mer information om hur du aktiverar dessa resursprovidrar finns i Registrera providers för Arc-aktiverade Kubernetes.
Fel: "Det går inte att läsa ConfigMap 'azure-clusterconfig' i namnområdet 'azure-arc'
Du kan stöta på det här problemet när du försöker återaktivera Arc-anslutningen i ett AKS-kluster när du har inaktiverat en befintlig anslutning. Felet beror på en ändring av namnområdet där Azure Arc-hemligheter lagras.
Stegen som leder till felet är:
- Ansluta ett arbetsbelastningskluster till Azure Arc med
Enable-AksHciArcConnection -name $clusterName
. - Koppla från klustret från Azure Arc:
Disable-AksHciArcConnection -name $clusterName
. - Anslut arbetsbelastningsklustret till Azure Arc med det här kommandot igen:
Enable-AksHciArcConnection -name $clusterName
.
Felet är:
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
misslyckas alltid, och när du har kört Disable-AksHciArcConnection
finns det en återstående hemlighet i namnområdet azure-arc-release. Om du vill kontrollera om hemligheten finns kan du köra följande kommando och se till att ingen hemlighet visas:
kubectl get secret -nazure-arc-release sh.helm.release.v1.azure-arc.v1
Du kan undvika det här problemet genom att ta bort namnområdet azure-arc-release när du har kört Disable-AksHciArcConnection
:
$clusterName = "<name of cluster>"
Get-AksHciCredential -name $clusterName
kubectl delete namespace azure-arc-release
Disable-AksHciArcConnection -name $clusterName
Enable-AksHciArcConnection -name $clusterName