Resolver erros ao habilitar ou desabilitar o arco do Azure em seus clusters de carga de trabalho AKS

Este artigo descreve os erros que você pode encontrar (e suas soluções alternativas) durante a conexão ou desconexão de seus AKS em clusters de carga de trabalho do HCI Azure Stack para o Azure ARC usando os cmdlets do PowerShell Enable-AksHciArcConnection e Disable-AksHciArcConnection. Para problemas que não são abordados neste artigo, consulte solução de problemas de kubernetes habilitado para Arc.

Você também pode abrir um problema de suporte se nenhuma das soluções alternativas listadas a seguir se aplicar a você.

Erro: Error while updating agents for enabling features

Se você habilitar o local personalizado e os recursos de conexão de cluster em seu AKs conectado do arco do Azure em Azure Stack cluster HCI, você poderá ver o seguinte erro:

Error while updating agents for enabling features. Please run "kubectl get pods -n azure-arc" to check the pods in case of timeout error. Error: Error: UPGRADE FAILED: timed out waiting for the condition

Esse é um problema conhecido com a versão de setembro e é corrigido na versão de outubro. Novos AKS em Azure Stack clusters de HCI criados usando a versão de outubro e conectados ao Arc usando Enable-AksHciArcConnection não apresentam esse problema. Atualize seu AKS na implantação Azure Stack HCI para a versão de outubro e reconecte os clusters existentes ao arco para obter uma solução alternativa para esse problema.

Erro: addons.msft.microsoft "demo-arc-onboarding" already exists

Esse erro normalmente significa que você já conectou seu AKS em Azure Stack cluster HCI ao kubernetes habilitado para Arc. Para confirmar que ele está conectado, vá para a portal do Azure e verifique sob a assinatura e o grupo de recursos que você forneceu ao executar set-AksHciRegistration (se você tiver usado valores padrão) ou Enable-AksHciArcConnection (se você não tiver usado valores padrão). Você também pode confirmar se seu AKS em Azure Stack cluster HCI está conectado ao Azure executando o comando AZ connectedk8s show CLI do Azure. Se você não vir o cluster de carga de trabalho, execute Disable-AksHciArcConnection e tente novamente.

Erro: Connection to Azure failed. Please run 'Set-AksHciRegistration' and try again

Esse erro significa que suas credenciais de logon para o Azure expiraram. Use set-AksHciRegistration para fazer logon no Azure antes de executar o comando Enable-AksHciArcConnection novamente. Ao executar novamente Set-AksHciRegistration , certifique-se de usar os mesmos detalhes de assinatura e grupo de recursos que você usou ao registrar o host AKs pelo Azure para cobrança pela primeira vez. Se você executar novamente o comando com uma assinatura ou grupo de recursos diferente, eles não serão registrados. Depois que a assinatura e o grupo de recursos são definidos Set-AksHciRegistration , eles não podem ser alterados sem desinstalar o AKS em Azure Stack HCI.

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

o erro a seguir pode ocorrer quando você usa Windows centro de administração para criar um cluster de carga de trabalho e conectá-lo ao 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 esse problema, examine as opções abaixo:

  • opção 1: exclua o cluster de carga de trabalho e tente novamente usando Windows centro de administração.
  • Opção 2: no PowerShell, verifique se o cluster foi criado com êxito executando o comando Get-AksHciCluster e, em seguida, use Enable-AksHciArcConnection para conectar o cluster ao Arc.

Erro: Timed out waiting for the condition

Esse erro geralmente aponta para um dos seguintes problemas:

  • Os clusters foram criados em uma VM do Azure em um ambiente virtualizado ou se você estiver implantando AKS no Azure Stack HCI em vários níveis de virtualização.
  • Devido a uma Internet lenta.

Se um dos cenários acima se aplicar a você, execute Disable-AksHciArcConnection e tente se conectar novamente. Se o cenário acima não se aplicar a você, abra um problema de suporte no AKs no HCI Azure Stack.

Erro: Azure subscription is not properly configured

Você poderá encontrar esse problema se não tiver configurado sua assinatura do Azure com os provedores de recursos de kubernetes habilitados para Arc. Atualmente, verificamos se Microsoft.Kubernetes e Microsoft.KubernetesConfiguration estão configurados. Para obter mais informações sobre como habilitar esses provedores de recursos, consulte habilitando provedores de recursos para o kubernetes habilitado para Arc.

Erro: A workload cluster with the name 'my-aks-cluster' was not found

Esse erro significa que você não criou o cluster de carga de trabalho ou digitou incorretamente o nome do cluster de carga de trabalho. Execute Get-AksHciCluster para confirmar que você tem o nome correto ou que o cluster que você deseja conectar ao Arc existe.

Erro: 'My-Cluster' is not a valid cluster name. Names must be lower-case and match the regular expression pattern: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'

Esse erro indica que o cluster de carga de trabalho não segue a Convenção de nomenclatura kubernetes. Como o erro sugere, verifique se o nome do cluster está em letras minúsculas e se corresponde ao padrão de expressão regular: ' ^ [a-Z0-9] [a-Z0-9-] * [a-Z0-9] $ '.

Erro: Cluster addons arc uninstall Error: namespaces "azure-arc" not found

Esse erro normalmente significa que você já desinstalou agentes Arc do seu cluster de carga de trabalho, ou você excluiu manualmente o azure-arc namespace usando o kubectl comando. Vá para a portal do Azure para confirmar que você não tem nenhum recurso vazado. Por exemplo, verifique se você não vê um connectedCluster recurso na assinatura e no grupo de recursos.

Erro: Secrets "sh.helm.release.v1.azure-arc.v1" not found

Esse erro indica que o servidor de API do kubernetes não pôde ser acessado. Tente executar o comando Disable-AksHciArcConnection novamente e, em seguida, vá para a portal do Azure para confirmar que o recurso foi realmente excluído. Você também pode executar kubectl get ns -a para confirmar que o namespace, azure-arc , não existe no cluster.

Erro: autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound"...

O erro abaixo significa que o Azure não pôde encontrar o connectedCluster recurso ARM associado ao seu cluster:

autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resource group 'AKS-HCI2' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"]

Você poderá encontrar esse erro se:

  • Você forneceu um grupo de recursos ou uma assinatura incorreta ao executar o Disable-AksHciArcConnection cmdlet.
  • Você excluiu manualmente o recurso no portal do Azure.
  • O ARM não pode localizar o recurso do Azure.

Para resolver esse erro, conforme indicado na mensagem de erro, consulte resolver erros de recurso não encontrado.

Enable-AksHciArcConnection falhará se Connect-AzAccount for usado para fazer logon no Azure

quando você usa Conexão-AzAccount para fazer logon no Azure, você pode terminar de definir uma assinatura diferente como seu contexto padrão do que foi fornecido como uma entrada para Set-AksHciRegistration. Quando você executa Enable-AksHciArcConnection, o comando espera a assinatura usada no . No entanto, Enable-AksHciArcConnection Obtém o conjunto de assinaturas padrão usando o Connect-AzAccount e, portanto, pode causar um erro. Para evitar esse erro, siga uma das opções abaixo:

  • Opção 1: executar Set-AksHciRegistration para fazer logon no Azure com os mesmos parâmetros (assinatura e grupo de recursos) que você usou quando executou o comando pela primeira vez para conectar o host do AKS ao Azure para cobrança. Você pode usar Enable-AksHciArcConnection -Name <ClusterName> com valores padrão e o cluster será conectado ao Arc sob o grupo de recursos e a assinatura de cobrança do host AKs.

  • Opção 2: execute Enable-AksHciArcRegistration com todos os parâmetros,,,, subscriptionresource grouplocationtenant e secret , para conectar o cluster ao arco do Azure em uma assinatura e um grupo de recursos diferentes do host AKs. Você também deverá executar Enable-AksHciArcRegistration se não tiver permissões suficientes para conectar seu cluster ao arco do Azure usando sua conta do Azure (por exemplo, se você não for o proprietário da assinatura).

Próximas etapas