Compartilhar via


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

Importante

O recurso Pré-visualização de Operações do Azure IoT — habilitado pelo Azure Arc — está atualmente em VERSÃO PRÉVIA. Você não deve usar esse software em versão prévia em ambientes de produção.

Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Implante a Visualização de Operações do Azure IoT em um cluster Kubernetes usando a CLI do Azure. Após implantar as Operações do Azure IoT, você poderá usar o serviço de Visualização do Orquestrador do Azure IoT para gerenciar e implantar outras cargas de trabalho no cluster.

Pré-requisitos

Recursos de nuvem:

  • Uma assinatura do Azure.

  • Permissões de acesso do Azure. No mínimo, tenha permissões de Colaborador na sua assinatura do Azure. Dependendo do status do sinalizador do recurso de implantação selecionado, talvez seja necessário ter permissões Microsoft/Authorization/roleAssignments/write para o grupo de recursos contendo o cluster Kubernetes habilitado para Arc. É possível fazer 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.

    Mesmo se você não tiver permissões de gravação de atribuição de função, 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 as 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, será solicitado que você restrinja o acesso utilizando condições ao atribuir funções de administrador com privilégios 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 com privilégios elevados para usuários no portal do Azure.

  • Um Azure Key Vault com o Modelo de permissão definido para Política de acesso ao cofre. Você pode verificar essa configuração na seção de Configuração de acesso 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 seu computador de desenvolvimento. Para obter mais informações, confira Como instalar a CLI do Azure. Esse 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 para atualizar, se necessário.

  • A extensão das Operações do Azure IoT para a CLI do Azure. Use o seguinte comando para adicionar a extensão ou atualizá-la à versão mais recente:

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

Um host de cluster:

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

    Se já tiver implantado Operações do Azure IoT no cluster, desinstale esses recursos antes de continuar. Para obter mais informações, consulte Atualizar Operações do Azure IoT.

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

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

    az iot ops verify-host
    

Implantar extensões

Use a CLI do Azure para implantar componentes das Operações do Azure IoT em seu cluster do Kubernetes habilitado para Arc.

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

    az login
    

    Observação

    Ao usar o GitHub Codespaces em um navegador, az login retorna um erro localhost na janela do navegador depois de fazer logon. Para corrigir:

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

    Por padrão, o comando az iot ops init 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 fornecer ao cluster o acesso ao cofre de chaves.
    • Configure os certificados TLS.
    • Configure um repositório de segredos no cluster que se conecta ao cofre de chaves.
    • Implante os recursos de Operações do Azure IoT.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_SETTINGS_PROPERTIES_RESOURCE_ID>
    

    Importante

    Por padrão, o comando az iot ops init não implanta o componente Processador de Dados. Para implantar o Processador de Dados, adicione o argumento --include-dp.

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

    Se você quiser usar uma entidade de serviço existente e um registro de aplicativo em vez de permitir que init crie novos, inclua os parâmetros --sp-app-id,--sp-object-id e --sp-secret. Para obter mais informações, consulte Configurar a entidade de serviço e o Key Vault manualmente.

  3. Após concluir a implantação, você poderá usar a verificação de operações az iot ops check para avaliar a integridade, a configuração e a usabilidade da implantação do serviço de Operações do Azure IoT. Para descobrir problemas na implantação e na configuração, use o comando check.

    az iot ops check
    

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

Exibir recursos em seu cluster

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

Para exibir os pods no seu cluster, execute o comando a seguir:

kubectl get pods -n azure-iot-operations

Pode levar vários minutos para que a implantação seja concluída. Execute novamente o comando get pods para atualizar a 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 seu cluster.

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

    Você pode ver que o cluster está executando extensões do tipo microsoft.iotoperations.x, que é o nome do grupo para todos os componentes das Operações do Azure IoT 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 comando az iot ops init. Você pode excluir e reinstalar os componentes das Operações do Azure IoT durante o teste, mas mantenha a extensão do provedor de segredos em seu cluster.

Dica

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

Desinstalar Operações do Azure IoT

Use o comando az iot ops delete para excluir ou desinstalar Operações do Azure IoT de um cluster. O comando delete avalia os recursos relacionados às Operações do Azure IoT no cluster e apresenta um modo de exibição de árvore dos recursos a serem excluídos. O cluster deve estar online antes da execução.

O comando delete remove:

  • Extensões de Operações do Azure IoT
  • Regras de sincronização de recursos de Operações do Azure IoT
  • Recursos de Operações do Azure IoT
  • Local personalizado associado
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>

Atualizar Operações do Azure IoT

No momento, não há suporte para atualizar uma implantação de Operações do Azure IoT existentes. Em vez disso, desinstale e reimplante uma nova versão de Operações do Azure IoT.

  1. Use o comando az iot ops delete para excluir a implantação de Operações do Azure IoT em seu cluster.

    az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
    
  2. Atualize a extensão da CLI para obter a versão mais recente de Operações do Azure IoT.

    az extension update --name azure-iot-ops
    
  3. Siga as etapas neste artigo para implantar a versão mais recente de Operações do Azure IoT em seu cluster.

    Dica

    Adicione o sinalizador --ensure-latest ao comando az iot ops init para verificar se a versão mais recente da CLI de Operações do Azure IoT está instalada e gerar um erro se uma atualização estiver disponível.

Próximas etapas

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.