Van toepassing op: AKS in Azure Local, AKS op Windows Server
In dit artikel worden fouten beschreven die kunnen optreden (en hun tijdelijke oplossingen) tijdens het verbinden of verbreken van uw AKS-workloadclusters met Azure Arc met behulp van de PowerShell-cmdlets Enable-AksHciArcConnection
en Disable-AksHciArcConnection
in AKS Arc. Zie Problemen met Kubernetes met Arc oplossen voor problemen die niet worden behandeld in dit artikel.
U kunt ook een ondersteuningsprobleem openen als geen van de vermelde tijdelijke oplossingen op u van toepassing is.
Deze fout betekent dat u het workloadcluster niet hebt gemaakt of dat u de naam van het workloadcluster onjuist hebt gespeld.
Voer Get-AksHciCluster uit om ervoor te zorgen dat u de juiste naam hebt of dat het cluster dat u wilt verbinden met Arc bestaat.
Fout: "System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set..."
De volgende fout kan optreden wanneer u Windows Admin Center gebruikt om een workloadcluster te maken en dit te verbinden met Kubernetes met 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]
Bekijk de onderstaande opties om dit probleem op te lossen:
- Optie 1: Verwijder het workloadcluster en probeer het opnieuw met behulp van het Windows-beheercentrum.
- Optie 2: Controleer in PowerShell of het cluster is gemaakt door de opdracht Get-AksHciCluster uit te voeren en gebruik vervolgens Enable-AksHciArcConnection om uw cluster te verbinden met Arc.
Enable-AksHciArcConnection mislukt als Connect-AzAccount wordt gebruikt om u aan te melden bij Azure
Wanneer u Connect-AzAccount
zich aanmeldt bij Azure, kunt u een ander abonnement instellen als uw standaardcontext dan het abonnement dat u als invoer Set-AksHciRegistration
hebt opgegeven. Wanneer u vervolgens uitvoert Enable-AksHciArcConnection
, verwacht de opdracht het abonnement dat wordt gebruikt in Set-AksHciRegistration
. Haalt Enable-AksHciArcConnection
echter de standaardabonnementenset op met behulp van de Connect-AzAccount
, en kan daarom een fout veroorzaken.
Volg een van de onderstaande opties om deze fout te voorkomen:
Optie 1: Voer uit
Set-AksHciRegistration
om u aan te melden bij Azure met dezelfde parameters (abonnement en resourcegroep) die u hebt gebruikt toen u de opdracht voor het eerst uitvoerde om uw AKS-host te verbinden met Azure voor facturering. U kunt vervolgens met standaardwaarden gebruikmakenEnable-AksHciArcConnection -Name <ClusterName>
en uw cluster wordt verbonden met Arc onder het AKS-hostfactureringsabonnement en de resourcegroep.Optie 2: Voer
Enable-AksHciArcRegistration
uit met alle parameters,subscription
,resource group
,location
,tenant
ensecret
, om uw cluster te verbinden met Azure Arc onder een ander abonnement en een andere resourcegroep dan de AKS-host. U moet ook worden uitgevoerdEnable-AksHciArcRegistration
als u niet over voldoende machtigingen beschikt om uw cluster te verbinden met Azure Arc met behulp van uw Azure-account (bijvoorbeeld als u niet de eigenaar van het abonnement bent).
Deze fout verwijst meestal naar een van de volgende problemen:
- De clusters zijn gemaakt in een virtuele Azure-machine in een gevirtualiseerde omgeving of u hebt AKS geïmplementeerd op Azure Local op meerdere niveaus van virtualisatie.
- Een traag internet heeft de time-out veroorzaakt.
Als een van de bovenstaande scenario's van toepassing is op u, voert u Disable-AksHciArcConnection uit en probeert u opnieuw verbinding te maken. Als het bovenstaande scenario niet van toepassing is op u, opent u een ondersteuningsprobleem voor AKS in Azure Local.
Deze fout geeft aan dat uw Kubernetes API-server niet kan worden bereikt.
Voer de Disable-AksHciArcConnection
opdracht opnieuw uit en ga vervolgens naar Azure Portal om te bevestigen dat uw connectedCluster
resource daadwerkelijk is verwijderd. U kunt ook uitvoeren kubectl get ns -A
om te bevestigen dat de naamruimte, azure-arc
niet bestaat in uw cluster.
Deze fout betekent dat uw aanmeldingsreferenties voor Azure zijn verlopen.
Gebruik Set-AksHciRegistration
deze opdracht om u aan te melden bij Azure voordat u de Enable-AksHciArcConnection
opdracht opnieuw uitvoert. Zorg ervoor dat u bij het opnieuw uitvoeren Set-AksHciRegistration
dezelfde abonnements- en resourcegroepgegevens gebruikt die u hebt gebruikt toen u de AKS-host voor het eerst bij Azure registreerde voor facturering. Als u de opdracht opnieuw uitvoert met een ander abonnement of een andere resourcegroep, worden deze niet geregistreerd. Zodra het abonnement en de resourcegroep zijn ingesteld Set-AksHciRegistration
, kunnen ze niet meer worden gewijzigd zonder AKS Arc te verwijderen.
Fout: 'Mijn cluster' is geen geldige clusternaam. Namen moeten kleine letters zijn en overeenkomen met het reguliere expressiepatroon: ^[a-z0-9][a-z0-9-]*[a-z0-9]$'
Deze fout geeft aan dat het workloadcluster niet voldoet aan de Kubernetes-naamconventie.
Zoals de fout al aangeeft, moet u ervoor zorgen dat de clusternaam kleine letters bevat en overeenkomt met het reguliere expressiepatroon: ^[a-z0-9][a-z0-9-]*[a-z0-9]$'.
Deze fout betekent meestal dat u uw AKS-cluster al hebt verbonden met Kubernetes met Arc.
Als u wilt bevestigen dat de verbinding is gemaakt, gaat u naar Azure Portal en controleert u onder het abonnement en de resourcegroep die u hebt opgegeven tijdens het uitvoeren Set-AksHciRegistration
(als u de standaardwaarden hebt gebruikt) of Enable-AksHciArcConnection
(als u geen standaardwaarden hebt gebruikt). U kunt ook controleren of uw AKS in het lokale Azure-cluster is verbonden met Azure door de az connectedk8s show
Azure CLI-opdracht uit te voeren. Als u uw workloadcluster niet ziet, voert u het uit Disable-AksHciArcConnection
en probeert u het opnieuw.
Deze fout betekent dat Azure de connectedCluster
Azure Resource Manager-resource die aan uw cluster is gekoppeld, niet kan vinden:
'autorest/azure: Service heeft een fout geretourneerd. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resource group 'AKS-HCI2' is niet gevonden. Ga naar https://aka.ms/ARMResourceNotFoundFix"]" voor meer informatie
Deze fout kan optreden als:
- U hebt een onjuiste resourcegroep of een onjuist abonnement opgegeven tijdens het uitvoeren van de
Disable-AksHciArcConnection
cmdlet. - U hebt de resource handmatig verwijderd in Azure Portal.
- Azure Resource Manager kan uw Azure-resource niet vinden.
Zie Resource niet gevonden fouten oplossen om deze fout op te lossen, zoals aangegeven in het foutbericht.
Deze fout betekent meestal dat u Arc-agents al hebt verwijderd uit uw workloadcluster of dat u de azure-arc
naamruimte handmatig hebt verwijderd met behulp van de kubectl
opdracht.
Ga naar Azure Portal om te bevestigen dat u geen gelekte resources hebt. Controleer bijvoorbeeld of u geen connectedCluster
resource in het abonnement en de resourcegroep ziet.
Dit probleem kan optreden als u uw Azure-abonnement niet hebt geconfigureerd met de Kubernetes-resourceproviders met Arc. We controleren momenteel of Microsoft.Kubernetes
en Microsoft.KubernetesConfiguration
geconfigureerd zijn.
Dit probleem kan optreden bij het opnieuw inschakelen van de Arc-verbinding op een AKS-cluster nadat u een bestaande verbinding hebt uitgeschakeld. De fout wordt veroorzaakt door een wijziging in de naamruimte waarin Azure Arc-geheimen worden opgeslagen.
De stappen die leiden tot de fout zijn:
- Een workloadcluster verbinden met Azure Arc met
Enable-AksHciArcConnection -name $clusterName
. - Koppel het cluster los van Azure Arc:
Disable-AksHciArcConnection -name $clusterName
. - Verbind het workloadcluster opnieuw met Azure Arc met deze opdracht:
Enable-AksHciArcConnection -name $clusterName
De fout is:
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
mislukt altijd en nadat u deze hebt uitgevoerd Disable-AksHciArcConnection
, is er een resterend geheim in de naamruimte azure-arc-release. Als u wilt controleren of het geheim bestaat, kunt u de volgende opdracht uitvoeren en controleren of er geen geheim wordt vermeld:
kubectl get secret -nazure-arc-release sh.helm.release.v1.azure-arc.v1
U kunt dit probleem omzeilen door de naamruimte azure-arc-release te verwijderen nadat u deze hebt uitgevoerd Disable-AksHciArcConnection
:
$clusterName = "<name of cluster>"
Get-AksHciCredential -name $clusterName
kubectl delete namespace azure-arc-release
Disable-AksHciArcConnection -name $clusterName
Enable-AksHciArcConnection -name $clusterName