Share via


Implantar extensões do Azure IoT Operations Preview em um cluster do Kubernetes

Importante

Azure IoT Operations Preview – habilitado pelo Azure Arc está atualmente em visualização. Não deve utilizar este software de pré-visualização em ambientes de produção.

Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Implante o Azure IoT Operations Preview em um cluster do Kubernetes usando a CLI do Azure. Depois de implantar as Operações IoT do Azure, você poderá usar o serviço Azure IoT Orchestrator Preview para gerenciar e implantar outras cargas de trabalho em seu cluster.

Pré-requisitos

Recursos da cloud:

  • Uma subscrição do Azure.

  • Permissões de acesso do Azure. No mínimo, tenha permissões de Colaborador em sua assinatura do Azure. Dependendo do status do sinalizador de recurso de implantação selecionado, você também pode precisar de permissões Microsoft/Authorization/roleAssignments/write para o grupo de recursos que contém seu cluster Kubernetes habilitado para Arc. Você pode criar uma função personalizada no controle de acesso baseado em função do Azure ou atribuir uma função interna que conceda essa permissão. Para obter mais informações, consulte Funções internas do Azure para Geral.

    Se você não tiver permissões de gravação de atribuição de função, ainda poderá implantar as Operações do Azure IoT desabilitando alguns recursos. Essa abordagem é discutida com mais detalhes na seção Implantar extensões deste artigo.

    • Na CLI do Azure, use o comando az role assignment create para conceder permissões. Por exemplo, az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • No portal do Azure, você será solicitado a restringir o acesso usando condições ao atribuir funções de administrador privilegiadas a um usuário ou entidade de segurança. Para esse cenário, selecione a condição Permitir que o usuário atribua todas as funções na página Adicionar atribuição de função.

      Captura de tela que mostra a atribuição de acesso de função altamente privilegiado aos usuários no portal do Azure.

  • Um Cofre da Chave do Azure que tem o modelo de Permissão definido como política de acesso ao Cofre. Você pode verificar essa configuração na seção Configuração do Access de um cofre de chaves existente. Se você precisar criar um novo cofre de chaves, use o comando az keyvault create :

    az keyvault create --enable-rbac-authorization false --name "<KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
    

Recursos de desenvolvimento:

  • CLI do Azure instalada em sua máquina de desenvolvimento. Para obter mais informações, consulte Como instalar a CLI do Azure. Este cenário requer a CLI do Azure versão 2.46.0 ou superior. Use az --version para verificar sua versão e az upgrade atualizar, se necessário.

  • A extensão Azure IoT Operations para CLI do Azure. Use o seguinte comando para adicionar a extensão ou atualizá-la para a versão mais recente:

    az extension add --upgrade --name azure-iot-ops
    

Um host de cluster:

  • Um cluster Kubernetes habilitado para Azure Arc. Se você não tiver um, siga as etapas em Preparar seu cluster Kubernetes habilitado para Azure Arc.

    Se você já implantou o Azure IoT Operations em seu cluster, desinstale esses recursos antes de continuar. Para obter mais informações, consulte Atualizar uma implantação.

    As Operações IoT do Azure devem funcionar em qualquer cluster kubernetes compatível com CNCF. Atualmente, a Microsoft só suporta K3s no Ubuntu Linux e WSL, ou AKS Edge Essentials no Windows. Usar o Ubuntu no Windows Subsystem for Linux (WSL) é a maneira mais simples de obter um cluster Kubernetes para teste.

    Use a extensão Azure IoT Operations para CLI do Azure para verificar se o host de cluster está configurado corretamente para implantação usando o comando verify-host no host de cluster:

    az iot ops verify-host
    

Implantar extensões

Use a CLI do Azure para implantar componentes do Azure IoT Operations em seu cluster Kubernetes habilitado para Arc.

  1. Entre na CLI do Azure interativamente com um navegador, mesmo que você já tenha entrado antes. Se você não entrar interativamente, poderá receber um erro dizendo que Seu dispositivo precisa ser gerenciado para acessar seu recurso quando você continuar para a próxima etapa para implantar as Operações do Azure IoT.

    az login
    

    Nota

    Se você estiver usando o GitHub Codespaces em um navegador, az login retornará um erro localhost na janela do navegador após fazer login. Para corrigir:

    • Abra o espaço de código na área de trabalho do VS Code e execute az login no terminal. Isso abre uma janela do navegador onde você pode fazer logon no Azure.
    • Ou, depois de obter o erro localhost no navegador, copie o URL do navegador e use curl <URL> em uma nova guia do terminal. Você verá uma resposta JSON com a mensagem "Você fez logon no Microsoft Azure!".
  2. Implante as Operações IoT do Azure em seu cluster. Use sinalizadores opcionais para personalizar o comando az iot ops init para se adequar ao seu cenário.

    Por padrão, o az iot ops init comando executa as seguintes ações, algumas das quais exigem que a entidade de segurança conectada à CLI tenha permissões elevadas:

    • Configure uma entidade de serviço e um registro de aplicativo para dar ao cluster acesso ao cofre de chaves.
    • Configure certificados TLS.
    • Configure um armazenamento de segredos no cluster que se conecta ao cofre de chaves.
    • Implante os recursos do Azure IoT Operations.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_ID>
    

    Se você não tiver permissões Microsoft.Authorization/roleAssignment/write no grupo de recursos, adicione o sinalizador de --disable-rsync-rules recurso. Esse sinalizador desabilita as regras de sincronização de recursos na implantação.

    Se você quiser usar uma entidade de serviço e um registro de aplicativo existentes em vez de permitir a init criação de novos, inclua os --sp-app-id,--sp-object-idparâmetros , e --sp-secret . Para obter mais informações, consulte Configurar a entidade de serviço e o Cofre da Chave manualmente.

  3. Após a conclusão da implantação, você pode usar az iot ops check para avaliar a implantação, a integridade, a configuração e a usabilidade do serviço IoT Operations. O comando check pode ajudá-lo a encontrar problemas em sua implantação e configuração.

    az iot ops check
    

    Você também pode verificar as configurações de mapas de tópicos, QoS e rotas de mensagens adicionando o --detail-level 2 parâmetro para uma exibição detalhada.

Configurar rede de cluster (AKS EE)

Nos clusters do AKS Edge Essentials, habilite as conexões de entrada com o agente do Azure IoT MQ Preview e configure o encaminhamento de portas:

  1. Habilite uma regra de firewall para a porta 8883:

    New-NetFirewallRule -DisplayName "Azure IoT MQ" -Direction Inbound -Protocol TCP -LocalPort 8883 -Action Allow
    
  2. Execute o seguinte comando e anote o endereço IP do serviço chamado aio-mq-dmqtt-frontend:

    kubectl get svc aio-mq-dmqtt-frontend -n azure-iot-operations -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  3. Habilite o encaminhamento de porta para a porta 8883. Substitua <aio-mq-dmqtt-frontend IP address> pelo endereço IP que você anotou na etapa anterior:

    netsh interface portproxy add v4tov4 listenport=8883 listenaddress=0.0.0.0 connectport=8883 connectaddress=<aio-mq-dmqtt-frontend IP address>
    

Ver recursos no cluster

Enquanto a implantação está em andamento, você pode observar os recursos que estão sendo aplicados ao cluster. Você pode usar comandos kubectl para observar alterações no cluster ou, como o cluster é habilitado para Arc, você pode usar o portal do Azure.

Para exibir os pods no cluster, execute o seguinte comando:

kubectl get pods -n azure-iot-operations

Pode levar vários minutos para que a implantação seja concluída. Execute novamente o comando para atualizar sua get pods exibição.

Para exibir seu cluster no portal do Azure, use as seguintes etapas:

  1. No portal do Azure, navegue até o grupo de recursos que contém seu cluster.

  2. Na Visão geral do grupo de recursos, selecione o nome do cluster.

  3. No cluster, selecione Extensões no menu.

    Você pode ver que seu cluster está executando extensões do tipo microsoft.iotoperations.x, que é o nome do grupo para todos os componentes do Azure IoT Operations e o serviço de orquestração.

    Há também uma extensão chamada akvsecretsprovider. Essa extensão é o provedor de segredos que você configurou e instalou no cluster com o az iot ops init comando. Você pode excluir e reinstalar os componentes do Azure IoT Operations durante o teste, mas manter a extensão do provedor de segredos em seu cluster.

Gorjeta

Você pode executar az iot ops check para avaliar a integridade e as configurações de cargas de trabalho AIO implantadas. Por padrão, o MQ, incluindo conectores de nuvem, é avaliado e você pode especificar o serviço com --ops-service --svc.

Atualizar uma implantação

Atualmente, não há suporte para atualizar uma implantação existente do Azure IoT Operations. Em vez disso, comece com um cluster limpo para uma nova implantação.

Se você quiser excluir a implantação do Azure IoT Operations em seu cluster para que possa reimplantar nele, navegue até o cluster no portal do Azure. Selecione as extensões do tipo microsoft.iotoperations.x e microsoft.deviceregistry.assets e, em seguida, selecione Desinstalar. Mantenha o provedor de segredos em seu cluster, pois esse é um pré-requisito para a implantação e não está incluído em uma nova implantação.

Próximos passos

Se seus componentes precisarem se conectar a pontos de extremidade do Azure, como SQL ou Fabric, saiba como Gerenciar segredos para sua implantação do Azure IoT Operations Preview.