Redigera

Dela via


Lösa fel när du aktiverar eller inaktiverar Azure Arc på dina AKS-arbetsbelastningskluster i AKS som aktiveras av Arc

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-AksHciArcConnectionfö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ända Enable-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, tenantoch secret, för att ansluta klustret till Azure Arc under en annan prenumeration och resursgrupp än AKS-värden. Du bör också köra Enable-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-AksHciRegistrationom 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-AksHciRegistrationkan 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:

  1. Ansluta ett arbetsbelastningskluster till Azure Arc med Enable-AksHciArcConnection -name $clusterName.
  2. Koppla från klustret från Azure Arc: Disable-AksHciArcConnection -name $clusterName.
  3. 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-AksHciArcConnectionfinns 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