Modifier

Partager via


Résoudre les erreurs lors de l’activation ou de la désactivation d’Azure Arc sur vos clusters de charge de travail AKS dans AKS activé par Arc

S’applique à : AKS sur Azure Local, AKS sur Windows Server

Cet article décrit les erreurs que vous pouvez rencontrer (et leurs solutions de contournement) lors de la connexion ou de la déconnexion de vos clusters de charge de travail AKS à Azure Arc à l’aide des applets Enable-AksHciArcConnection de commande PowerShell et Disable-AksHciArcConnection dans AKS Arc. Pour connaître les problèmes qui ne sont pas abordés dans cet article, consultez Résolution des problèmes liés à Kubernetes avec Arc.

Vous pouvez également ouvrir un problème de support si aucune des solutions de contournement répertoriées ne s’applique à vous.

Erreur : « Un cluster de charge de travail portant le nom « my-aks-cluster » est introuvable »

Cette erreur signifie que vous n’avez pas créé le cluster de charge de travail ou que vous avez mal orthographié le nom du cluster de charge de travail.

Exécutez Get-AksHciCluster pour vous assurer que vous disposez du nom correct ou que le cluster que vous souhaitez connecter à Arc existe.

Erreur : « System.Management.Automation.RemoteException Starting onboarding process Cluster « azure-arc-onboarding » set...

L’erreur suivante peut se produire lorsque vous utilisez Windows Admin Center pour créer un cluster de charge de travail et le connecter à Kubernetes avec 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]

Pour résoudre ce problème, passez en revue les options suivantes :

  • Option 1 : Supprimez le cluster de charge de travail et réessayez en utilisant Windows Admin Center.
  • Option 2 : Dans PowerShell, vérifiez si le cluster a été créé correctement en exécutant la commande Get-AksHciCluster, puis utilisez Enable-AksHciArcConnection pour connecter votre cluster à Arc.

« Enable-AksHciArcConnection » échoue si « Connect-AzAccount » est utilisé pour se connecter à Azure

Lorsque vous utilisez Connect-AzAccount pour vous connecter à Azure, vous pouvez définir un abonnement différent de votre contexte par défaut que celui que vous avez donné en tant qu’entrée Set-AksHciRegistration. Lorsque vous exécutez Enable-AksHciArcConnectionensuite, la commande attend l’abonnement utilisé dans Set-AksHciRegistration. Cependant, Enable-AksHciArcConnection reçoit l’abonnement par défaut défini avec Connect-AzAccount et peut par conséquent provoquer une erreur.

Pour éviter cette erreur, suivez une des options ci-dessous :

  • Option 1 : Exécutez Set-AksHciRegistration pour vous connecter à Azure avec les mêmes paramètres (abonnement et groupe de ressources) que vous avez utilisés lors de la première exécution de la commande pour connecter votre hôte AKS à Azure à des fins de facturation. Vous pouvez ensuite utiliser Enable-AksHciArcConnection -Name <ClusterName> avec les valeurs par défaut, et votre cluster sera connecté Arc sous l’abonnement et le groupe de ressources de facturation de l’hôte AKS.

  • Option 2 : Exécutez Enable-AksHciArcRegistration avec tous les paramètres, subscription, resource group, location, tenant et secret, pour connecter votre cluster à Azure Arc sous un autre abonnement et un autre groupe de ressources que l’hôte AKS. Vous devez aussi exécuter Enable-AksHciArcRegistration si vous n’avez pas les autorisations suffisantes pour connecter votre cluster à Azure Arc en utilisant votre compte Azure (par exemple si vous n’êtes pas propriétaire de l’abonnement).

Erreur : « Délai d’attente de la condition »

Cette erreur se produit en raison d’un des problèmes suivants :

  • Les clusters ont été créés dans une machine virtuelle Azure dans un environnement virtualisé, ou vous avez déployé AKS sur Azure Local sur plusieurs niveaux de virtualisation.
  • Un Internet lent a provoqué le délai d’expiration.

Si l’un des scénarios ci-dessus s’applique à vous, exécutez Disable-AksHciArcConnection, puis réessayez de vous connecter. Si le scénario ci-dessus ne s’applique pas à vous, ouvrez un problème de support pour AKS sur Azure Local.

Erreur : « Secrets « sh.helm.release.v1.azure-arc.v1 » introuvable »

Cette erreur indique que votre serveur d’API Kubernetes n’a pas pu être atteint.

Réessayez d’exécuter la Disable-AksHciArcConnection commande, puis accédez au Portail Azure pour vérifier que votre connectedCluster ressource a été réellement supprimée. Vous pouvez aussi exécuter kubectl get ns -A pour vérifier que l’espace de noms azure-arc n’existe pas sur votre cluster.

Erreur : « Échec de la connexion à Azure. Exécutez « Set-AksHciRegistration » et réessayez »

Cette erreur signifie que vos informations d’identification de connexion à Azure ont expiré.

Utilisez cette option Set-AksHciRegistration pour vous connecter à Azure avant d’exécuter à nouveau la Enable-AksHciArcConnection commande. Lors de la réexécution de Set-AksHciRegistration, veillez à utiliser les mêmes informations d’abonnement et de groupe de ressources que celles que vous avez utilisées lors de la première inscription de l’hôte AKS sur Azure pour la facturation. Si vous réexécutez la commande avec un autre abonnement ou un autre groupe de ressources, ceux-ci ne seront pas inscrits. Une fois l’abonnement et le groupe de ressources définis, Set-AksHciRegistrationils ne peuvent pas être modifiés sans désinstaller AKS Arc.

Erreur : « « Mon cluster » n’est pas un nom de cluster valide. Les noms doivent être minuscules et correspondre au modèle d’expression régulière : '^[a-z0-9][a-z0-9-]*[a-z0-9]$'"

Cette erreur indique que le cluster de charge de travail ne respecte pas la convention de nommage de Kubernetes.

Comme l’indique l’erreur, vérifiez que le nom du cluster est en minuscules et correspond au modèle d’expression régulière : '^[a-z0-9][a-z0-9-]*[a-z0-9]$'.

Erreur : « addons.msft.microsoft « demo-arc-onboarding » existe déjà »

Cette erreur signifie généralement que vous avez déjà connecté votre cluster AKS à Kubernetes avec Arc. Pour confirmer qu’il est connecté, accédez au Portail Azure et vérifiez sous l’abonnement et le groupe de ressources que vous avez fournis lors de l’exécution Set-AksHciRegistration (si vous avez utilisé des valeurs par défaut) ou Enable-AksHciArcConnection (si vous n’avez pas utilisé de valeurs par défaut). Vous pouvez également confirmer si votre cluster AKS sur Azure Local est connecté à Azure en exécutant la az connectedk8s show commande Azure CLI. Si vous ne voyez pas votre cluster de charge de travail, exécutez Disable-AksHciArcConnection et réessayez.

Erreur : « autorest/azure : le service a retourné une erreur. Status=404 Code="ResourceNotFound »... »

Cette erreur signifie qu’Azure ne peut pas trouver la connectedCluster ressource Azure Resource Manager associée à votre cluster :

« autorest/azure : le service a retourné une erreur. Status=404 Code="ResourceNotFound » Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' sous le groupe de ressources 'AKS-HCI2' est introuvable. Pour plus d’informations https://aka.ms/ARMResourceNotFoundFix", consultez ;]"

Vous pouvez rencontrer cette erreur si :

  • Vous avez fourni un groupe de ressources ou un abonnement incorrect lors de l’exécution de l’applet de commande Disable-AksHciArcConnection.
  • Vous avez supprimé manuellement la ressource sur le portail Azure.
  • Azure Resource Manager ne peut pas trouver votre ressource Azure.

Pour résoudre cette erreur, comme indiqué dans le message d’erreur, consultez Résoudre les erreurs de ressource introuvable.

Erreur : « Erreur de désinstallation des addons arc de cluster : espaces de noms « azure-arc » introuvables »

Cette erreur signifie généralement que vous avez déjà désinstallé les agents Arc de votre cluster de charge de travail ou que vous avez supprimé manuellement l’espace azure-arc de noms à l’aide de la kubectl commande.

Accédez au Portail Azure pour confirmer que vous n’avez pas de ressources divulguées. Par exemple, vérifiez que vous ne voyez pas de connectedCluster ressource dans l’abonnement et le groupe de ressources.

Erreur : « L’abonnement Azure n’est pas correctement configuré »

Vous pouvez rencontrer ce problème si vous n’avez pas configuré votre abonnement Azure avec les fournisseurs de ressources Kubernetes avec Arc. Nous vérifions actuellement que Microsoft.Kubernetes et Microsoft.KubernetesConfiguration sont configurés.

Pour plus d’informations sur l’activation de ces fournisseurs de ressources, consultez Inscrire des fournisseurs pour Kubernetes avec Arc.

Erreur : « Impossible de lire ConfigMap « azure-clusterconfig » dans l’espace de noms « azure-arc »

Vous pouvez rencontrer ce problème lorsque vous essayez de réactiver la connexion Arc sur un cluster AKS après avoir désactivé une connexion existante. L’erreur est due à une modification de l’espace de noms dans lequel les secrets Azure Arc sont stockés.

Les étapes qui entraînent l’erreur sont les suivantes :

  1. Connectez un cluster de charge de travail à Azure Arc avec Enable-AksHciArcConnection -name $clusterName.
  2. Déconnectez le cluster d’Azure Arc : Disable-AksHciArcConnection -name $clusterName.
  3. Connectez à nouveau le cluster de charge de travail à Azure Arc avec cette commande : Enable-AksHciArcConnection -name $clusterName.

L’erreur est :

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 échoue toujours, et après l’exécution Disable-AksHciArcConnection, il existe un secret restant dans l’espace de noms azure-arc-release. Pour vérifier si le secret existe, vous pouvez exécuter la commande suivante et vous assurer qu’aucun secret n’est répertorié :

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

Pour contourner ce problème, supprimez l’espace de noms azure-arc-release après l’exécution Disable-AksHciArcConnection:

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