Compartilhar via


Implantar a versão prévia das Operações do Azure IoT em um cluster do Kubernetes habilitado para Arc

Importante

As Operações do Azure IoT Versão prévia – habilitadas 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.

Você precisará implantar uma nova instalação das Operações do Azure IoT quando uma versão em disponibilidade geral for disponibilizada. Você não poderá atualizar uma instalação de versão prévia.

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. Depois de implantar as Operações do Azure IoT, você poderá gerenciar e implantar outras cargas de trabalho em seu cluster.

  • Uma implantação das Operações do Azure IoT descreve todos os componentes e recursos que habilitam o cenário de Operações do Azure IoT. Esses componentes e recursos incluem:

    • Uma instância das Operações do Azure IoT
    • Extensões do Arc
    • Locais personalizados
    • Regras de sincronização de recursos
    • Recursos que você pode configurar em sua solução de Operações do Azure IoT, como ativos, Agente MQTT e fluxos de dados.
  • Uma instância das Operações do Azure IoT é uma parte de uma implantação. É o recurso pai que agrupa o conjunto de serviços que são definidos em O que é a versão prévia das Operações do Azure IoT?, como MQ, Akri e o conector de OPC UA.

Neste artigo, quando falamos em implantar as Operações do Azure IoT, estamos nos referindo ao conjunto completo de componentes que compõem uma implantação. Depois que a implantação existir, você poderá exibir, gerenciar e atualizar a instância.

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 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, ao atribuir funções de administrador privilegiadas a um usuário ou entidade de segurança, você pode restringir o acesso usando condições. 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 cofre de chaves do Azure com o Modelo de permissão definido como 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. Para 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.53.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 você implantou as Operações do Azure IoT no cluster anteriormente, 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.

    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

Use o portal ou a CLI do Azure para implantar as Operações do Azure IoT em seu cluster Kubernetes habilitado para Arc.

A experiência de implantação do portal do Azure é uma ferramenta auxiliar que gera um comando de implantação com base em seus recursos e configuração. A etapa final é executar um comando da CLI do Azure, portanto, você ainda precisa dos pré-requisitos da CLI do Azure descritos na seção anterior.

  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>
    

    Use os parâmetros opcionais para personalizar sua implantação, incluindo:

    Parâmetro Valor Descrição
    --add-insecure-listener Adicione uma configuração de porta 1883 insegura ao ouvinte padrão. Não para uso em produção.
    --broker-config-file Caminho para o arquivo JSON Forneça um arquivo de configuração para o Agente MQTT. Para obter mais informações, consulte Configuração avançada do Agente MQTT e Configurar as principais configurações do Agente MQTT.
    --disable-rsync-rules Desabilite as regras de sincronização de recursos no sinalizador de recurso de implantação se você não tiver as permissões Microsoft.Authorization/roleAssignment/write no grupo de recursos.
    --name String Forneça um nome para sua instância das Operações do Azure IoT. Caso contrário, será atribuído um nome padrão. Você pode exibir o parâmetro instanceName na saída do comando.
    --no-progress Desabilita a exibição de progresso da implantação no terminal.
    --simulate-plc Inclua o simulador OPC PLC que é fornecido com o conector OPC UA.
    --sp-app-id,
    --sp-object-id,
    --sp-secret
    ID do aplicativo da entidade de serviço, ID do objeto da entidade de serviço e segredo da entidade de serviço Inclua todos ou alguns desses parâmetros para usar uma entidade de serviço existente, um registro de aplicativo e um segredo em vez de permitir que init crie novos. Para obter mais informações, consulte Configurar a entidade de serviço e o Key Vault manualmente.

Enquanto a implantação estiver em andamento, você poderá observar os recursos que estão sendo aplicados ao seu cluster.

  • Se o terminal der suporte, init exibirá o progresso da implantação.

    Uma captura de tela que mostra o progresso de uma implantação das Operações do Azure IoT em um terminal.

    Depois que a fase Implantar Operações de IoT for iniciada, o texto no terminal se tornará um link para exibir o progresso da implantação no portal do Azure.

    Uma captura de tela que mostra o progresso de uma implantação das Operações do Azure IoT no portal do Azure.

  • Caso contrário, ou se você optar por desabilitar a interface de progresso adicionando --no-progress ao comando init, poderá usar comandos kubectl para exibir os pods em seu cluster:

    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.

Depois que a implantação for concluída, use az iot ops check para avaliar a implantação do serviço de Operações de IoT em termos de integridade, configuração e usabilidade. 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.

Gerenciar as Operações do Azure IoT

Após a implantação, você pode usar a CLI do Azure e o portal do Azure para exibir e gerenciar sua instância das Operações do Azure IoT.

Listar instâncias

Use o comando az iot ops list para ver todas as instâncias das Operações do Azure IoT em sua assinatura ou grupo de recursos.

O comando básico retorna todas as instâncias em sua assinatura.

az iot ops list

Para filtrar os resultados por grupo de recursos, adicione o parâmetro --resource-group.

az iot ops list --resource-group <RESOURCE_GROUP>

Exibir instância

Use o comando az iot ops show para exibir as propriedades de uma instância.

az iot ops show --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP>

Você também pode usar o comando az iot ops show para exibir os recursos em sua implantação das Operações do Azure IoT na CLI do Azure. Adicione o sinalizador --tree para mostrar uma exibição de árvore da implantação que inclui a instância das Operações do Azure IoT especificada.

az iot ops show --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --tree

O modo de exibição de árvore de uma implantação é semelhante ao exemplo a seguir:

MyCluster
├── extensions
│   ├── akvsecretsprovider
│   ├── azure-iot-operations-ltwgs
│   └── azure-iot-operations-platform-ltwgs
└── customLocations
    └── MyCluster-cl
        ├── resourceSyncRules
        └── resources
            ├── MyCluster-ops-init-instance
            └── MyCluster-observability

Você pode executar az iot ops check em seu cluster para avaliar a integridade e as configurações de componentes individuais das Operações do Azure IoT. Por padrão, o comando verifica o MQ, mas você pode especificar o serviço com o parâmetro --ops-service.

Atualizar marcas de instância e descrição

Use o comando az iot ops update para editar as marcas e os parâmetros de descrição da instância das Operações do Azure IoT. Os valores fornecidos no comando update substituem quaisquer marcas ou descrição existentes

az iot ops update --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --desc "<INSTANCE_DESCRIPTION>" --tags <TAG_NAME>=<TAG-VALUE> <TAG_NAME>=<TAG-VALUE>

Para excluir todas as marcas em uma instância, defina o parâmetro de marcas como um valor nulo. Por exemplo:

az iot ops update --name <INSTANCE_NAME> --resource-group --tags ""

Desinstalar Operações do Azure IoT

A CLI do Azure e o portal do Azure oferecem opções diferentes para desinstalar as Operações do Azure IoT.

Se você quiser excluir toda uma implantação das Operações do Azure IoT, use a CLI do Azure.

Se você quiser excluir uma instância das Operações do Azure IoT, mas deseja manter os recursos relacionados na implantação, use o portal do Azure.

Use o comando az iot ops delete para excluir toda a implantação das 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 quando você executar esse comando.

O comando delete remove:

  • A instância de Operações do Azure IoT
  • Extensões do Arc
  • Locais personalizados
  • Regras de sincronização de recursos
  • Recursos que você pode configurar em sua solução de Operações do Azure IoT, como ativos, Agente MQTT e fluxos de dados.
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.