Criar e configurar um cluster do AKS Edge Essentials que possa executar as Operações de IoT do Azure
O Azure Kubernetes Service (AKS) Edge Essentials é uma das plataformas de cluster com suporte para o Azure IoT Operations. Você pode usar o AKS Edge Essentials para criar um cluster do Kubernetes gerenciado pela Microsoft e implantar o Azure IoT Operations nele como uma carga de trabalho. Este artigo descreve as etapas para executar um script que cria um cluster do Kubernetes do AKS Edge Essentials com as configurações necessárias para as Operações de IoT do Azure e, em seguida, conecta esse cluster ao Azure Arc.
Observação
As Operações de IoT do Azure dão suporte ao AKS Edge Essentials quando implantado em clusters de computador único. A implantação de clusters em vários computadores é um recurso experimental.
Pré-requisitos para executar o script
Para executar o script, você precisa dos seguintes 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. Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
CLI do Azure versão 2.64.0 ou mais recente instalada em seu computador de desenvolvimento. Use
az --version
para verificar sua versão eaz upgrade
para atualizar, se necessário. Para obter mais informações, confira Como instalar a CLI do Azure.Instale a versão mais recente das extensões connectedk8s para a CLI do Azure:
az extension add --upgrade --name connectedk8s
Requisitos de hardware: verifique se o computador tem um mínimo de 10 GB de RAM disponível, 4 vCPUs disponíveis e espaço livre em disco de 52 GB reservado para operações de IoT do Azure.
Criar um cluster habilitado para Arc
O script AksEdgeQuickStartForAio.ps1 automatiza o processo de criação e conexão de um cluster e é o caminho recomendado para implantar as Operações do Azure IoT no AKS Edge Essentials. O script executa as seguintes tarefas:
- Baixa o MSI mais recente do AKS Edge Essentials deste repositório.
- Instala o AKS Edge Essentials e implanta e cria um cluster do Kubernetes de computador único em seu computador Windows.
- Conecta-se à assinatura do Azure, cria um grupo de recursos se ele ainda não existir e conecta o cluster ao Arc para criar um cluster do Kubernetes habilitado para Arc.
- Habilita o recurso de localização personalizada no cluster do Kubernetes habilitado para Arc.
- Habilita o recurso de federação de identidade de carga de trabalho no cluster do Kubernetes habilitado para Arc.
- Implanta o provisionamento de caminho local.
- Configura regras de firewall na máquina host Windows para o agente MQTT.
- Na VM do Linux, que serve como o nó do plano de controle do Kubernetes:
- Configura o proxy de porta para o intervalo de IP padrão do serviço Kubernetes de 10.96.0.0/28.
- Configura as regras da tabela IP:
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT
Para executar o script de início rápido, execute as seguintes etapas:
Abra uma janela elevada do PowerShell e altere o diretório para uma pasta de trabalho.
Obtenha o
objectId
do aplicativo do Microsoft Entra ID que o serviço Azure Arc usa em seu locatário. Execute o seguinte comando exatamente como está, sem alterar o valor da GUID.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Execute os seguintes comandos, substituindo os valores de espaço reservado por suas informações:
$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 Unblock-File .\AksEdgeQuickStartForAio.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
Espaço reservado Valor SUBSCRIPTION_ID A ID da sua assinatura do Azure. Se você não souber sua ID da assinatura, confira Localizar sua assinatura do Azure. TENANT_ID A ID do locatário do Microsoft Entra. Se você não souber sua ID de locatário, consulte Localizar seu locatário do Microsoft Entra. RESOURCE_GROUP_NAME O nome de um grupo de recursos existente ou um nome para um novo grupo de recursos a ser criado. Há suporte para apenas uma instância de Operações IoT do Azure por grupo de recursos. LOCALIZAÇÃO Uma região do Azure próxima a você. Para obter a lista de regiões do Azure com suporte para as Operações de IoT do Azure, consulte Regiões com suporte. CLUSTER_NAME Um nome para o novo cluster a ser criado. ARC_APP_OBJECT_ID O valor da ID do objeto que você recuperou na etapa 2. Se houver problemas durante a implantação, como se o computador for reinicializado como parte desse processo, execute o conjunto de comandos novamente.
Execute os seguintes comandos para verificar se a implantação foi bem-sucedida:
Import-Module AksEdge Get-AksEdgeDeploymentInfo
Na saída do
Get-AksEdgeDeploymentInfo
comando, você deve ver que o status do Arc do cluster é Conectado.
Verificar seu cluster
Para verificar se o cluster do Kubernetes está habilitado para Azure Arc, execute o seguinte comando:
kubectl get deployments,pods -n azure-arc
A saída deve ser semelhante ao seguinte exemplo:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clusterconnect-agent 1/1 1 1 10m
deployment.apps/extension-manager 1/1 1 1 10m
deployment.apps/clusteridentityoperator 1/1 1 1 10m
deployment.apps/controller-manager 1/1 1 1 10m
deployment.apps/flux-logs-agent 1/1 1 1 10m
deployment.apps/cluster-metadata-operator 1/1 1 1 10m
deployment.apps/extension-events-collector 1/1 1 1 10m
deployment.apps/config-agent 1/1 1 1 10m
deployment.apps/kube-aad-proxy 1/1 1 1 10m
deployment.apps/resource-sync-agent 1/1 1 1 10m
deployment.apps/metrics-agent 1/1 1 1 10m
NAME READY STATUS RESTARTS AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst 3/3 Running 0 10m
pod/extension-manager-65b8f7f4cb-tp7pp 3/3 Running 0 10m
pod/clusteridentityoperator-6d64fdb886-p5m25 2/2 Running 0 10m
pod/controller-manager-567c9647db-qkprs 2/2 Running 0 10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df 1/1 Running 0 10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z 2/2 Running 0 10m
pod/extension-events-collector-58dfb78cb5-vxbzq 2/2 Running 0 10m
pod/config-agent-7579f558d9-5jnwq 2/2 Running 0 10m
pod/kube-aad-proxy-56d9f754d8-9gthm 2/2 Running 0 10m
pod/resource-sync-agent-769bb66b79-z9n46 2/2 Running 0 10m
pod/metrics-agent-6588f97dc-455j8 2/2 Running 0 10m