Partilhar via


Criar e configurar um cluster do AKS Edge Essentials que possa executar as Operações do Azure IoT

O Serviço Kubernetes do Azure (AKS) Edge Essentials é uma das plataformas de cluster com suporte para as Operações IoT do Azure. Você pode usar o AKS Edge Essentials para criar um cluster Kubernetes gerenciado pela Microsoft e implantar as Operações IoT do Azure nele como uma carga de trabalho. Este artigo descreve as etapas para executar um script que cria um cluster Kubernetes do AKS Edge Essentials com as configurações necessárias para as Operações IoT do Azure e, em seguida, conecta esse cluster ao Azure Arc.

Nota

O Azure IoT Operations dá suporte ao AKS Edge Essentials quando implantado em clusters de máquina única. A implantação de clusters em várias máquinas é 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 Proprietário ou uma combinação de funções de Colaborador e Administrador de Acesso de Usuário. Pode verificar o seu nível de acesso navegando até à sua subscrição, selecionando Controlo de acesso (IAM) no lado esquerdo do portal do Azure e, em seguida, selecionando Ver o meu acesso. Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.

  • Azure CLI versão 2.64.0 ou mais recente instalada em sua máquina de desenvolvimento. Use az --version para verificar sua versão e az upgrade atualizar, se necessário. Para obter mais informações, consulte 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: certifique-se de que a sua máquina tem um mínimo de 16 GB de RAM disponível, 4 vCPUs disponíveis e 52 GB de espaço livre em disco reservado para as Operações do Azure IoT.

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 realiza as tarefas seguintes:

  • Faz o download do MSI mais recente do AKS Edge Essentials a partir deste repositório.
  • Instala o AKS Edge Essentials e implanta e cria um cluster Kubernetes de máquina única em sua máquina 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 Kubernetes habilitado para Arc.
  • Habilita o recurso de local personalizado no cluster Kubernetes habilitado para Arc.
  • Habilita o recurso de federação de identidade de carga de trabalho no cluster Kubernetes habilitado para Arc.
  • Implanta o provisionamento de caminho local.
  • Configura regras de firewall na máquina Windows host para o broker MQTT.
  • Na VM 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:

  1. Abra uma janela elevada do PowerShell e altere o diretório para uma pasta de trabalho.

  2. Obtenha o objectId aplicativo Microsoft Entra ID que o serviço Azure Arc usa em seu locatário. Execute o seguinte comando exatamente como escrito, sem alterar o valor do GUID.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Execute os seguintes comandos, substituindo os valores de espaço reservado pelas 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>"
    
    Marcador de Posição Value
    SUBSCRIPTION_ID A ID da sua assinatura do Azure. Se não souber o seu ID de subscrição, consulte Localizar a sua subscrição do Azure.
    TENANT_ID A ID do seu locatário do Microsoft Entra. Se não souber o seu ID de inquilino, consulte Localizar o seu inquilino 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. Apenas uma instância do Azure IoT Operations é suportada por grupo de recursos.
    LOCALIZAÇÃO Uma região do Azure perto de você. Para obter a lista de regiões do Azure Azure IoT Operations suportadas, consulte Regiões suportadas.
    CLUSTER_NAME Um nome para o novo cluster a ser criado.
    ARC_APP_OBJECT_ID O valor de ID do objeto que você recuperou na etapa 2.

    Se houver problemas durante a implantação, como se a máquina for reinicializada como parte desse processo, execute o conjunto de comandos novamente.

  4. 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ê verá que o status do arco do cluster é Conectado.

Verificar o cluster

Para verificar se o cluster do Kubernetes está habilitado para o Azure Arc, execute o seguinte comando:

kubectl get deployments,pods -n azure-arc

A saída é semelhante ao exemplo a seguir:

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

Próximos passos