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.
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 eaz 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.
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!".
- Abra o codespace na área de trabalho do VS Code e execute
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.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.
Caso contrário, ou se você optar por desabilitar a interface de progresso adicionando
--no-progress
ao comandoinit
, 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.
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>
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
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 comandoaz 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.