Aplica-se a: AKS no Azure Local, AKS no Windows Server
Este artigo descreve os erros que você pode encontrar (e suas soluções alternativas) ao conectar ou desconectar seus clusters de carga de trabalho do 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 você deseja se conectar exista.
Erro: "System.Management.Automation.RemoteException Iniciando o processo de integração Cluster "azure-arc-onboarding" definido..."
O seguinte erro pode ocorrer quando você usa 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, examine as opções abaixo:
- Opção 1: exclua o cluster de carga de trabalho e tente novamente usando 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' falhará se 'Connect-AzAccount' for usado para entrar no Azure
Ao usar Connect-AzAccount
o para entrar no Azure, você pode definir uma assinatura diferente como seu contexto padrão do que aquela que você forneceu como entrada para Set-AksHciRegistration
o . Quando você executa Enable-AksHciArcConnection
o , o comando espera que a assinatura usada no Set-AksHciRegistration
. 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 pela primeira vez o comando para conectar seu host do AKS ao Azure para cobrança. Em seguida, você pode usarEnable-AksHciArcConnection -Name <ClusterName>
com valores padrão e o cluster será conectado ao Arc na assinatura de cobrança do host do AKS e no grupo de recursos.Opção 2: executar
Enable-AksHciArcRegistration
com todos os parâmetros,subscription
,resource group
,location
,tenant
esecret
, para conectar o cluster ao Azure Arc em uma assinatura e um grupo de recursos diferentes do host do AKS. Você também deve executarEnable-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 vá para o portal do Azure para confirmar se o connectedCluster
recurso foi realmente excluído. Você também pode executar kubectl get ns -A
para confirmar se o namespace, azure-arc
, não existe no cluster.
Erro: "Falha na conexão com o Azure. Execute 'Set-AksHciRegistration' e tente novamente"
Esse erro significa que suas credenciais de logon no Azure expiraram.
Use Set-AksHciRegistration
para fazer logon no Azure antes de executar o Enable-AksHciArcConnection
comando novamente. Ao executar Set-AksHciRegistration
novamente, certifique-se de usar os mesmos detalhes de assinatura e grupo de recursos usados quando registrou pela primeira vez o host do AKS no Azure para cobrança. 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 Arc.
Erro: "'My-Cluster' não é um nome de cluster válido. Os nomes devem estar em letras minúsculas 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, certifique-se de que o nome do cluster esteja em letras minúsculas e corresponda 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 o cluster do AKS ao Kubernetes habilitado para Arc.
Para confirmar se ele está conectado, acesse o portal do Azure e verifique a assinatura e o grupo de recursos que você forneceu quando executou Set-AksHciRegistration
(se você usou valores padrão) ou Enable-AksHciArcConnection
(se você não usou valores padrão). Você também pode confirmar se o AKS no cluster local do Azure está conectado ao Azure executando o comando da CLI do az connectedk8s show
Azure. Se você 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"..."
Esse erro significa que o Azure não consegue encontrar o recurso do connectedCluster
Azure Resource Manager associado ao 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, acesse https://aka.ms/ARMResourceNotFoundFix"]"
Você poderá encontrar esse erro se:
- Você forneceu um grupo de recursos ou assinatura incorreto durante a execução do
Disable-AksHciArcConnection
cmdlet. - Você excluiu manualmente o recurso no portal do Azure.
- O Azure Resource Manager não pode encontrar o recurso do Azure.
Para resolver esse erro, conforme indicado na mensagem de erro, consulte resolver erros de recurso não encontrado.
Erro: "Cluster addons arc uninstall Erro: namespaces "azure-arc" não encontrados"
Esse erro geralmente significa que você já desinstalou os agentes do Arc do cluster de carga de trabalho ou excluiu manualmente o azure-arc
namespace usando o kubectl
comando.
Acesse o portal do Azure para confirmar se 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ê poderá encontrar esse problema se não tiver configurado sua assinatura do Azure com os provedores de recursos do Kubernetes habilitados para Arc. No momento, 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 habilitado para Arc.
Erro: "Não é possível ler o ConfigMap 'azure-clusterconfig' no namespace 'azure-arc'"
Você pode encontrar esse problema ao tentar reabilitar a conexão do Arc em um cluster do AKS depois de desabilitar uma conexão existente. O erro ocorre 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:
- Conectar um cluster de carga de trabalho ao Azure Arc com
Enable-AksHciArcConnection -name $clusterName
o . - Desconecte o cluster do Azure Arc:
Disable-AksHciArcConnection -name $clusterName
. - 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
o , 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