Editar

Partilhar via


Resolver erros ao habilitar ou desabilitar o Azure Arc em seus clusters de carga de trabalho AKS no AKS habilitado pelo Arc

Aplica-se a: AKS no Azure Local, AKS no Windows Server

Este artigo descreve erros que você pode encontrar (e suas soluções alternativas) ao conectar ou desconectar seus clusters de carga de trabalho AKS ao Azure Arc usando os cmdlets Enable-AksHciArcConnection do PowerShell e Disable-AksHciArcConnection no AKS Arc. Para problemas que não são abordados neste artigo, consulte Solução de problemas do Kubernetes habilitado para Arc.

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

Erro: "Um cluster de carga de trabalho com o nome 'my-aks-cluster' não foi encontrado"

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 garantir que você tenha o nome correto ou que o cluster ao qual deseja se conectar ao Arc exista.

Erro: "System.Management.Automation.RemoteException Iniciando o processo de integração Cluster "azure-arc-onboarding" set..."

O seguinte erro pode ocorrer quando você usa o Windows Admin Center 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, revise as opções abaixo:

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

'Enable-AksHciArcConnection' falha se 'Connect-AzAccount' for usado para entrar no Azure

Quando você usa Connect-AzAccount para entrar no Azure, você pode definir uma assinatura diferente como seu contexto padrão daquele que você deu como uma entrada para Set-AksHciRegistration. Quando você executa Enable-AksHciArcConnectiono , o comando espera a assinatura usada no Set-AksHciRegistration. No entanto, Enable-AksHciArcConnection obtém o conjunto de assinatura 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: Execute Set-AksHciRegistration para iniciar sessão no Azure com os mesmos parâmetros (subscrição e grupo de recursos) que utilizou quando executou pela primeira vez o comando para ligar o anfitrião AKS ao Azure para faturação. Em seguida, você pode usar Enable-AksHciArcConnection -Name <ClusterName> com valores padrão, e seu cluster será conectado ao Arc sob a assinatura de cobrança do host AKS e o grupo de recursos.

  • Opção 2: Execute Enable-AksHciArcRegistration com todos os parâmetros, subscription, , resource grouplocation, tenant, e secret, para conectar seu cluster ao Azure Arc em uma assinatura e grupo de recursos diferentes do host AKS. Você também deve executar Enable-AksHciArcRegistration se não tiver permissões suficientes para conectar seu cluster ao Azure Arc usando sua Conta do Azure (por exemplo, se você não for o proprietário da assinatura).

Erro: 'Tempo limite esgotado aguardando a condição'

Esse erro geralmente aponta para um dos seguintes problemas:

  • Os clusters foram criados em uma VM do Azure em um ambiente virtualizado ou você implantou o AKS no Azure Local em vários níveis de virtualização.
  • Uma internet lenta causou o tempo limite.

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 para o AKS no Azure Local.

Erro: "Segredos "sh.helm.release.v1.azure-arc.v1" não encontrados"

Esse erro indica que o servidor de API do Kubernetes não pôde ser acessado.

Tente executar o Disable-AksHciArcConnection comando novamente e, em seguida, vá para o portal do Azure para confirmar que seu connectedCluster 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: "Falha na conexão com o Azure. Por favor, execute 'Set-AksHciRegistration' e tente novamente"

Este erro significa que as suas credenciais de início de sessão no Azure expiraram.

Use Set-AksHciRegistration para fazer logon no Azure antes de executar o Enable-AksHciArcConnection comando novamente. Ao executar novamente Set-AksHciRegistration, certifique-se de usar os mesmos detalhes de assinatura e grupo de recursos usados quando registrou o host AKS no Azure pela primeira vez para cobrança. Se você executar novamente o comando com uma assinatura ou grupo de recursos diferente, eles não serão registrados. Uma vez que a assinatura e o grupo de recursos são definidos no Set-AksHciRegistration, eles não podem ser alterados sem desinstalar o AKS Arc.

Erro: "'My-Cluster' não é um nome de cluster válido. Os nomes devem ser minúsculos e corresponder ao padrão de expressão regular: '^[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 do Kubernetes.

Como o erro sugere, verifique se o nome do cluster é minúsculo e corresponde ao padrão de expressão regular: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'.

Erro: "addons.msft.microsoft "demo-arc-onboarding" já existe"

Esse erro geralmente significa que você já conectou seu cluster AKS ao Kubernetes habilitado para Arc. Para confirmar que está ligado, aceda ao portal do Azure e verifique a subscrição e o grupo de recursos que forneceu quando executou Set-AksHciRegistration (se utilizou valores predefinidos) ou Enable-AksHciArcConnection (se não utilizou valores predefinidos). Você também pode confirmar se seu AKS no cluster Local do Azure está conectado ao Azure executando o az connectedk8s show comando Azure CLI. Se não vir o cluster de carga de trabalho, execute Disable-AksHciArcConnection e tente novamente.

Erro: "autorest/azure: O serviço retornou um erro. Status=404 Code="ResourceNotFound"..."

Este erro significa que o Azure não consegue encontrar o recurso do Azure Resource Manager associado ao connectedCluster seu cluster:

"autorest/azure: O serviço retornou um erro. Status=404 Code="ResourceNotFound" Message="O recurso 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' no grupo de recursos 'AKS-HCI2' não foi encontrado. Para mais detalhes, por favor vá para https://aka.ms/ARMResourceNotFoundFix"]"

Você pode encontrar esse erro se:

  • Você forneceu um grupo de recursos ou uma assinatura incorreta durante a execução do Disable-AksHciArcConnection cmdlet.
  • Você excluiu manualmente o recurso no portal do Azure.
  • O Azure Resource Manager não consegue localizar o seu recurso do Azure.

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

Erro: "Erro de desinstalação de addons de cluster arc: namespaces "azure-arc" não encontrados"

Esse erro geralmente significa que você já desinstalou os agentes Arc do cluster de carga de trabalho ou excluiu manualmente o azure-arc namespace usando o kubectl comando.

Vá para o 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: "A assinatura do Azure não está configurada corretamente"

Você pode encontrar esse problema se não tiver configurado sua assinatura do Azure com os provedores de recursos do Kubernetes habilitados para Arc. Atualmente, verificamos isso Microsoft.Kubernetes e Microsoft.KubernetesConfiguration estamos configurados.

Para obter mais informações sobre como habilitar esses provedores de recursos, consulte Registrar provedores para Kubernetes habilitados para Arc.

Erro: "Não é possível ler o ConfigMap 'azure-clusterconfig' no namespace 'azure-arc'"

Você pode encontrar esse problema ao tentar reativar a conexão Arc em um cluster AKS depois de desativar uma conexão existente. O erro é devido a uma alteração no namespace no qual os segredos do Azure Arc são armazenados.

As etapas que levam ao erro são:

  1. Conecte um cluster de carga de trabalho ao Azure Arc com Enable-AksHciArcConnection -name $clusterNameo .
  2. Desconecte o cluster do Azure Arc: Disable-AksHciArcConnection -name $clusterName.
  3. Conecte o cluster de carga de trabalho ao Azure Arc com este comando novamente: Enable-AksHciArcConnection -name $clusterName.

O erro é:

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 Sempre falha e, depois de executar Disable-AksHciArcConnection, há um segredo restante no namespace azure-arc-release. Para verificar se o segredo existe, você pode executar o seguinte comando e garantir que nenhum segredo esteja listado:

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

Para contornar esse problema, exclua o namespace azure-arc-release depois de executar Disable-AksHciArcConnection:

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