Editar

Compartir a través de


Resolución de errores al habilitar o deshabilitar Azure Arc en los clústeres de cargas de trabajo de AKS habilitados por Arc

Se aplica a: AKS en Azure Local, AKS en Windows Server

En este artículo se describen los errores que pueden producirse (y sus soluciones alternativas) al conectar o desconectar los clústeres de cargas de trabajo de AKS a Azure Arc mediante los cmdlets Enable-AksHciArcConnection de PowerShell y Disable-AksHciArcConnection en AKS Arc. Para ver los problemas que no se tratan en este artículo, consulte Solución de problemas de Kubernetes habilitado para Arc.

También puede abrir un problema de soporte técnico si ninguna de las soluciones alternativas enumeradas se aplica a usted.

Error: "No se encontró un clúster de carga de trabajo con el nombre "my-aks-cluster"

Este error significa que no ha creado el clúster de carga de trabajo o ha escrito incorrectamente el nombre del clúster de carga de trabajo.

Ejecute Get-AksHciCluster para asegurarse de que tiene el nombre correcto o de que el clúster que desea conectar a Arc existe.

Error: "System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set..."

Puede producirse el siguiente error al usar Windows Admin Center para crear un clúster de carga de trabajo y conectarlo a Kubernetes habilitado para 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]

Para resolver este problema, revise las opciones siguientes:

  • Opción 1: Elimine el clúster de carga de trabajo y pruebe a usar de nuevo Windows Admin Center.
  • Opción 2: En PowerShell, compruebe si el clúster se ha creado correctamente mediante la ejecución del comando Get-AksHciCluster y, a continuación, use Enable-AksHciArcConnection para conectar el clúster a Arc.

Se produce un error en "Enable-AksHciArcConnection" si se usa "Connect-AzAccount" para iniciar sesión en Azure

Cuando se usa Connect-AzAccount para iniciar sesión en Azure, puede establecer una suscripción diferente como contexto predeterminado que el que proporcionó como entrada a Set-AksHciRegistration. Al ejecutar Enable-AksHciArcConnection, el comando espera la suscripción usada en Set-AksHciRegistration. Sin embargo, Enable-AksHciArcConnection obtiene el conjunto de suscripciones predeterminado mediante Connect-AzAccount y, por lo tanto, podría producir un error.

Para evitar este error, siga una de las opciones siguientes:

  • Opción 1: Ejecute Set-AksHciRegistration para iniciar sesión en Azure con los mismos parámetros (suscripción y grupo de recursos) que usó cuando ejecutó por primera vez el comando para conectar el host de AKS a Azure para la facturación. A continuación, puede usar Enable-AksHciArcConnection -Name <ClusterName> con los valores predeterminados y el clúster se conectará a Arc en la suscripción y el grupo de recursos de facturación del host de AKS.

  • Opción 2: Ejecute Enable-AksHciArcRegistration con los parámetros subscription, resource group, location, tenant y secret para conectar el clúster a Azure Arc en una suscripción y un grupo de recursos diferentes a los del host de AKS. También debe ejecutar Enable-AksHciArcRegistration si no tiene permisos suficientes para conectar el clúster a Azure Arc mediante su cuenta de Azure (por ejemplo, si no es el propietario de la suscripción).

Error: "Se agota el tiempo de espera de la condición"

Este error suele indicar uno de los siguientes problemas:

  • Los clústeres se crearon en una máquina virtual de Azure en un entorno virtualizado o implementó AKS en Azure Local en varios niveles de virtualización.
  • Un internet lento provocó el tiempo de espera.

Si se aplica uno de los escenarios anteriores, ejecute Disable-AksHciArcConnection e intente conectarse de nuevo. Si el escenario anterior no se aplica, abra un problema de soporte técnico para AKS en Azure Local.

Error: "No se encontraron secretos "sh.helm.release.v1.azure-arc.v1"

Este error indica que no se ha podido contactar con el servidor de API de Kubernetes.

Intente volver a ejecutar el Disable-AksHciArcConnection comando y vaya a Azure Portal para confirmar que connectedCluster el recurso se eliminó realmente. También puede ejecutar kubectl get ns -A para confirmar que el espacio de nombres azure-arc no existe en el clúster.

Error: "Error de conexión a Azure. Ejecute "Set-AksHciRegistration" e inténtelo de nuevo"

Este error significa que las credenciales de inicio de sesión en Azure han expirado.

Use Set-AksHciRegistration para iniciar sesión en Azure antes de volver a ejecutar el Enable-AksHciArcConnection comando. Al volver a ejecutar Set-AksHciRegistration, asegúrese de usar los mismos datos de suscripción y grupo de recursos que usó cuando registró por primera vez el host de AKS en Azure para la facturación. Si vuelve a ejecutar el comando con una suscripción o un grupo de recursos diferentes, no se registrarán. Una vez establecida la suscripción y el grupo de recursos en Set-AksHciRegistration, no se pueden cambiar sin desinstalar AKS Arc.

Error: "My-Cluster" no es un nombre de clúster válido. Los nombres deben estar en minúsculas y coincidir con el patrón de expresión regular: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'".

Este error indica que el clúster de carga de trabajo no sigue la convención de nomenclatura de Kubernetes.

Como sugiere el error, asegúrese de que el nombre del clúster está en minúsculas y coincide con el patrón de expresión regular: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'.

Error: "addons.msft.microsoft "demo-arc-onboarding" ya existe"

Este error suele significar que ya ha conectado el clúster de AKS a Kubernetes habilitado para Arc. Para confirmar que está conectado, vaya a Azure Portal y compruebe en la suscripción y el grupo de recursos que proporcionó al ejecutar Set-AksHciRegistration (si usó valores predeterminados) o Enable-AksHciArcConnection (si no usó valores predeterminados). También puede confirmar si el clúster de AKS en Azure Local está conectado a Azure mediante la ejecución del comando de la az connectedk8s show CLI de Azure. Si no ve el clúster de cargas de trabajo, ejecute Disable-AksHciArcConnection e inténtelo de nuevo.

Error: "autorest/azure: el servicio devolvió un error. Status=404 Code="ResourceNotFound"..."

Este error significa que Azure no encuentra el connectedCluster recurso de Azure Resource Manager asociado al clúster:

"autorest/azure: el servicio devolvió un error. Status=404 Code="ResourceNotFound" Message="No se encontró el recurso 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' en el grupo de recursos 'AKS-HCI2'. Para obtener más información, vaya a https://aka.ms/ARMResourceNotFoundFix"]"

Puede encontrar este error si:

  • Ha proporcionado un grupo de recursos o una suscripción incorrectos al ejecutar el cmdlet Disable-AksHciArcConnection.
  • Ha eliminado manualmente el recurso en Azure Portal.
  • Azure Resource Manager no encuentra el recurso de Azure.

Para resolver este error, como se indica en el mensaje de error, consulte Solución de errores de recurso no encontrado.

Error: "Clúster addons arc uninstall Error: namespaces "azure-arc" not found"

Este error suele significar que ya ha desinstalado agentes de Arc del clúster de cargas de trabajo o ha eliminado manualmente el azure-arc espacio de nombres mediante el kubectl comando .

Vaya a Azure Portal para confirmar que no tiene ningún recurso filtrado. Por ejemplo, compruebe que no ve un connectedCluster recurso en la suscripción y el grupo de recursos.

Error: "La suscripción de Azure no está configurada correctamente"

Es posible que encuentre este problema si no ha configurado la suscripción de Azure con los proveedores de recursos de Kubernetes habilitados para Arc. Actualmente se comprueba que Microsoft.Kubernetes y Microsoft.KubernetesConfiguration están configurados.

Para más información sobre cómo habilitar estos proveedores de recursos, consulte Registro de proveedores para Kubernetes habilitado para Arc.

Error: "No se puede leer ConfigMap "azure-clusterconfig" en el espacio de nombres "azure-arc"

Es posible que encuentre este problema al intentar volver a habilitar la conexión de Arc en un clúster de AKS después de deshabilitar una conexión existente. El error se debe a un cambio en el espacio de nombres en el que se almacenan los secretos de Azure Arc.

Los pasos que conducen al error son:

  1. Conecte un clúster de carga de trabajo a Azure Arc con Enable-AksHciArcConnection -name $clusterName.
  2. Desconecte el clúster de Azure Arc: Disable-AksHciArcConnection -name $clusterName.
  3. Vuelva a conectar el clúster de cargas de trabajo a Azure Arc con este comando: Enable-AksHciArcConnection -name $clusterName.

El error es:

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 siempre se produce un error y, después de ejecutar Disable-AksHciArcConnection, hay un secreto restante en el espacio de nombres azure-arc-release. Para comprobar si el secreto existe, puede ejecutar el siguiente comando y asegurarse de que no aparece ningún secreto:

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

Para solucionar este problema, elimine el espacio de nombres azure-arc-release después de ejecutar Disable-AksHciArcConnection:

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