Configuração e scripts adicionais para o AKS Edge Essentials
Este artigo fornece maneiras alternativas de se conectar ao Azure Arc, que podem ser aplicáveis a clusters conectados por meio de um proxy.
Conectar um cluster do AKS Edge Essentials ao Arc usando um proxy
Pré-requisitos
- Uma assinatura do Azure com a função de Proprietário ou uma combinação de funções de Colaborador e Administrador de Acesso do Usuário. Você pode verificar seu nível de acesso navegando até sua assinatura, selecionando Controle de acesso (IAM) no lado esquerdo do portal do Azure e, em seguida, selecionando Exibir meu acesso. Leia a documentação do Azure Resource Manager para obter mais informações sobre como gerenciar grupos de recursos.
- Habilite todos os provedores de recursos necessários na assinatura do Azure, como Microsoft.HybridCompute, Microsoft.GuestConfiguration, Microsoft.HybridConnectivity, Microsoft.Kubernetes e Microsoft.KubernetesConfiguration.
- Crie e verifique um grupo de recursos para recursos do Azure do AKS Edge Essentials.
Observação
Você deve ter a função Colaborador para poder excluir os recursos dentro do grupo de recursos. Os comandos para se desconectar do Arc falharão sem essa atribuição de função.
Etapa 1: configurar o cluster para conectividade do Azure
Baixe o repositório GitHub do Azure/AKS-Edge, se você não tiver feito isso antes. Navegue até a guia Código e clique no botão Baixar Zip para baixar o repositório como um arquivo .zip . Extraia o arquivo .zip para uma pasta local.
Forneça detalhes da sua assinatura do Azure no arquivo aide-userconfig.json na seção,
Azure
conforme descrito na tabela a seguir. Para se conectar com êxito ao Azure usando o Kubernetes habilitado para Azure Arc, você precisa de uma entidade de serviço que forneça acesso baseado em função aos recursos no Azure. Se você já tiver a ID e a senha da entidade de serviço, poderá atualizar todos os campos no arquivo aide-userconfig.json . Se você não tiver uma entidade de serviço, poderá fornecer um nome e o script na próxima etapa criará um e preencherá aAuth
seção para você.Atributo Tipo de Valor Descrição Azure.ClusterName
string Informe um nome para o cluster. Por padrão, hostname_cluster
é o nome usado.Azure.Location
string O local do grupo de recursos. Escolha o local mais próximo da implantação. Azure.SubscriptionName
string O nome da sua assinatura. Azure.SubscriptionId
GUID A ID de sua assinatura. No portal do Azure, selecione a assinatura que você está usando e copie/cole a cadeia de caracteres da ID da assinatura no JSON. Azure.TenantId
GUID ID do locatário. No portal do Azure, pesquise "Azure Active Directory", que deve levá-lo à página Diretório Padrão. A partir daqui, você pode copiar/colar a cadeia de caracteres de ID do locatário no arquivo JSON. Azure.ResourceGroupName
string O nome do grupo de recursos do Azure para hospedar seus recursos do Azure para o AKS Edge Essentials. Você pode usar um grupo de recursos existente ou, se adicionar um novo nome, o sistema criará um para você. Azure.ServicePrincipalName
string Nome da entidade de serviço do Azure. Azure.Auth.ServicePrincipalId
GUID O AppID da entidade de serviço do Azure a ser usado como credenciais. O AKS Edge Essentials usa essa entidade de serviço para conectar o cluster ao Arc. Você pode usar uma entidade de serviço existente ou, se adicionar um novo nome, o sistema criará um para você na próxima etapa. Azure.Auth.Password
string A senha (em texto não criptografado) para a entidade de serviço do Azure usar como credenciais. AksEdgeConfigFile
string O nome do arquivo para a configuração do AKS Edge Essentials ( aksedge-config.json
). OAksEdgeAzureSetup.ps1
script atualiza aArc
seção desse arquivo JSON com as informações necessárias.Observação
Esse procedimento deve ser feito apenas uma vez por assinatura do Azure e não precisa ser repetido para cada cluster do Kubernetes.
Execute ou clique duas vezes no arquivo AksEdgePrompt.cmd para abrir uma janela do PowerShell com privilégios elevados com os módulos necessários carregados. É apresentada uma visão geral das informações do PC e das versões de software instaladas.
Execute o script AksEdgeAzureSetup.ps1 na pasta tools\scripts\AksEdgeAzureSetup . Esse script solicita que você faça logon com suas credenciais para configurar sua assinatura do Azure:
# prompts for interactive login for service principal creation with Contributor role at resource group level ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole # (or) alternative option # Prompts for interactive login for service principal creation with minimal privileges ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
Verifique se as credenciais são válidas usando o script AksEdgeAzureSetup-Test.ps1 . Esse script entra no Azure usando as novas credenciais da entidade de serviço e verifica o status dos recursos do Azure:
# Test the credentials ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
Etapa 2: conectar seu cluster ao Azure
Carregue a configuração JSON no AksEdgeShell usando
Read-AideUserConfig
e verifique se os valores são atualizados usandoGet-AideUserConfig
. Como alternativa, você pode reabrir AksEdgePrompt.cmd para usar a configuração JSON atualizada:Read-AideUserConfig Get-AideUserConfig
Importante
Cada vez que você modificar aide-userconfig.json, execute
Read-AideUserConfig
para recarregar ou feche e reabra AksEdgePrompt.cmd.Execute
Initialize-AideArc
. Isso instala a CLI do Azure (se ainda não estiver instalada), entra no Azure com as credenciais fornecidas e valida a configuração do Azure (provedores de recursos e status do grupo de recursos):Initialize-AideArc
Execute
Connect-AideArc
para instalar e conectar a máquina host ao servidor habilitado para Arc e para conectar o cluster existente ao Kubernetes habilitado para Arc:# Connect Arc-enabled server and Arc-enabled Kubernetes Connect-AideArc
Como alternativa, você pode conectá-los individualmente usando
Connect-AideArcServer
para servidores habilitados para Arc eConnect-AideArcKubernetes
para Kubernetes habilitado para Arc:# Connect Arc-enabled server Connect-AideArcServer # Connect Arc-enabled Kubernetes Connect-AideArcKubernetes
Observação
Essa etapa pode levar até 10 minutos e o PowerShell pode estar travado em "Estabelecendo o Kubernetes conectado ao Azure para
your cluster name
". O comando do PowerShell gera eTrue
retorna ao prompt quando o processo é concluído. Um token de portador é salvo em servicetoken.txt na pasta de ferramentas .
Etapa 3: exibir seu cluster no Azure
No painel esquerdo, selecione a folha Namespaces em Recursos do Kubernetes (versão prévia):
Para visualizar seus recursos do Kubernetes, você precisa de um token de portador:
Na janela do PowerShell, execute
Get-AksEdgeManagedServiceToken
, copie a cadeia de caracteres completa e cole-a no portal do Azure:Agora, você pode exibir recursos em seu cluster. A imagem a seguir mostra a folha Cargas de trabalho, mostrando o mesmo que
kubectl get pods --all-namespaces
:
Desconectar o cluster do AKS Edge Essentials do Arc ao usar um proxy
Execute Disconnect-AideArc
para se desconectar do servidor habilitado para Arc e do Kubernetes habilitado para Arc:
# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc
Como alternativa, você pode desconectá-los individualmente usando Connect-AideArcServer
para servidores habilitados para Arc e Connect-AideArcKubernetes
para Kubernetes habilitado para Arc:
# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes
Conecte a máquina host ao Arc
Você pode conectar a máquina host usando
Connect-AideArcServer
para servidores habilitados para Arc:# Connect Arc-enabled server Connect-AideArcServer
Para desconectar a máquina host do Arc, use
Disconnect-AideArcServer
para servidores habilitados para Arc:# Disconnect Arc-enabled server Disconnect-AideArcServer
Você também pode desinstalar o agente do Arc for Server seguindo as etapas aqui. Para uma limpeza completa por meio do portal do Azure, exclua a entidade de serviço e o grupo de recursos que você criou para este exemplo.