Implantar as Operações do Azure IoT em um cluster do Kubernetes habilitado para Arc
Saiba como implantar as Operações do Azure IoT em um cluster do Kubernetes usando o portal do Azure.
Neste artigo, discutiremos as implantações e instâncias das Operações do Azure IoT, que são dois conceitos diferentes:
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
- Recursos que você pode configurar em sua solução das Operações do Azure IoT, como ativos e pontos de extremidade de ativos.
Uma instância das Operações do Azure IoT é o recurso pai que agrupa o conjunto de serviços definidos em O que são as Operações do Azure IoT? como o Agente MQTT, os fluxos de dados e conector para OPC UA.
Quando falamos em implantar as Operações do Azure IoT, queremos dizer o 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. Para obter mais informações, consulte Detalhes de implantação > Permissões necessárias.
Recursos de desenvolvimento:
CLI do Azure instalada em seu computador de desenvolvimento. Esse cenário requer a CLI do Azure versão 2.64.0 ou superior. Use
az --version
para verificar sua versão eaz upgrade
para atualizar, se necessário. Para obter mais informações, confira Como instalar a CLI do Azure.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:
Tenha um cluster Kubernetes habilitado para Azure Arc com os recursos personalizados de localização e identidade de carga de trabalho habilitados. 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.
(Opcional) Prepare seu cluster para observabilidade antes de implantar as Operações do Azure IoT: Configurar a observabilidade.
(Opcional) Configure seu emissor de autoridade de certificação antes de implantar as Operações do Azure IoT: traga seu emissor.
Implantar
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.
No portal do Azure, pesquise e selecione Operações do Azure IoT.
Selecione Criar.
Na folha Informações Básicas, forneça as seguintes informações:
Parâmetro Valor Assinatura Selecione a assinatura que contém o cluster habilitado para Arc. Grupo de recursos Selecione o grupo de recursos que contém o cluster habilitado para Arc. Nome do cluster Selecione o cluster no qual você deseja implantar as Operações do Azure IoT. Nome do local personalizado Opcional: substitua o nome padrão pelo local personalizado. Selecione Avançar: configuração.
Na guia Configuração, forneça as seguintes informações:
Parâmetro Valor Nome das Operações do Azure IoT Opcional: substitua o nome padrão da instância das Operações do Azure IoT. Configuração do Agente MQTT Opcional: edite as configurações padrão para o Agente MQTT. No portal do Azure, é possível definir as configurações de perfil de cardinalidade e memória. Para definir outras configurações, incluindo o buffer de mensagens com suporte em disco e opções avançadas do cliente MQTT, confira Suporte da CLI do Azure para a configuração avançada do Agente MQTT. Configuração do perfil de fluxo de dados Opcional: edite as configurações padrão para fluxos de dados. Para obter mais informações, consulte Configurar o perfil de fluxo de dados. Selecione Avançar: Gerenciamento de dependências.
Na guia Gerenciamento de Dependências, selecione um registro de esquema existente ou use estas etapas para criar um:
Selecione Criar novo.
Forneça um nome do registro de esquema e um namespace do registro de esquema.
Selecione Selecionar contêiner de Armazenamento do Microsoft Azure.
Escolha uma conta de armazenamento na lista de contas hierárquicas habilitadas para namespace ou selecione Criar para criar uma.
O registro de esquema requer uma conta de Armazenamento do Microsoft Azure com namespace hierárquico e acesso à rede pública habilitados. Ao criar uma nova conta de armazenamento, escolha um tipo de conta de armazenamento de Uso geral v2 e defina o namespace hierárquico como Habilitado.
Selecione um contêiner em sua conta de armazenamento ou selecione Contêiner para criar um.
Selecione Aplicar para confirmar as configurações do registro de esquema.
Na guia Gerenciamento de dependências, selecione a opção de implantação Configurações de teste ouConfigurações seguras. Se você não tiver certeza de qual é o ideal para seu cenário, examine as diretrizes em Detalhes da implantação > Escolha seus recursos.
Dependendo de sua escolha, siga as etapas para:
Implantar com configurações de teste
Use estas etapas se escolher a opção Configurações de Teste na guia Gerenciamento de dependências.
Selecione Avançar: Automação.
Uma de cada vez, execute cada comando da CLI do Azure na guia Automação em um terminal:
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.
az login
Instale a extensão mais recente da CLI de Operações do Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Crie um registro de esquema que será usado pelos componentes de Operações de IoT do Azure. Copie e execute o comando az iot ops schema registry create.
Se você optar por usar um registro de esquema existente, esse comando não será exibido na guia Automação.
Prepare o cluster para a implantação das Operações do Azure IoT. Copie e execute o comando az iot ops init fornecido.
Dica
O comando
init
só precisa ser executado uma vez por cluster. Se você estiver reutilizando um cluster que já tinha as Operações do Azure IoT versão 0.8.0 implantado nele, ignore esta etapa.Se você seguiu o pré-requisito opcional para configurar o seu próprio emissor de autoridade de certificação, adicione o sinalizador
--user-trust
ao comandoinit
.Esse comando pode levar vários minutos para ser concluído. Você pode ver o andamento na exibição de progresso da implantação no terminal.
Implantar operações do Azure IoT. Copie e execute o comando az iot ops create fornecido.
Se você seguiu os pré-requisitos opcionais para preparar o cluster para observabilidade, adicione os seguintes parâmetros ao comando
create
:Parâmetro Valor Descrição --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Forneça o endereço do coletor OpenTelemetry (OTel) configurado no arquivo otel-collector-values.yaml.
Os valores de exemplo usados em Configurar a observabilidade são fullnameOverride=aio-otel-collector e grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Forneça o valor check_interval configurado no arquivo otel-collector-values.yaml.
O valor de exemplo usado em Configurar a observabilidade é check_interval=60.Se você seguiu os pré-requisitos opcionais para configurar o seu próprio emissor de autoridade de certificação, adicione os parâmetros
--trust-settings
ao comandocreate
:--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
Esse comando pode levar vários minutos para ser concluído. Você pode ver o andamento na exibição de progresso da implantação no terminal.
Depois que todos os comandos da CLI do Azure forem concluídos com sucesso, você poderá fechar o assistente Instalar Operações do Azure IoT.
Depois que o comando create
for concluído com êxito, você terá uma instância das Operações do Azure IoT em execução no cluster. Neste ponto, sua instância está configurada para a maioria dos cenários de teste e avaliação.
Se em algum momento no futuro você quiser preparar sua instância para cenários de produção, siga as etapas em Habilitar configurações seguras em uma instância de Operações do Azure IoT existente.
Implantar com configurações seguras
Use estas etapas se escolher a opção Configurações seguras na guia Gerenciamento de dependências.
Na seção Opções de implantação, forneça as seguintes informações:
Parâmetro Valor Assinatura Selecione a assinatura que contém o cofre de chaves do Azure. Azure Key Vault Selecione um cofre de chaves do Azure ou Criar.
Certifique-se de que seu cofre de chaves tenha Controle de acesso baseado em função do Azure como seu modelo de permissão. Para verificar esta configuração, selecione Gerenciar cofre selecionado>Configurações>Configuração de acesso.
Lembre-se de conceder permissões à sua conta de usuário para gerenciar segredos com a funçãoKey Vault Secrets Officer
.Identidade gerenciada atribuída pelo usuário para segredos Selecione uma identidade ou selecione Criar nova. Identidade gerenciada atribuída pelo usuário para componentes do AIO Selecione uma identidade ou selecione Criar nova. Não use a mesma identidade gerenciada que a que você selecionou para segredos. Selecione Avançar: Automação.
Uma de cada vez, execute cada comando da CLI do Azure na guia Automação em um terminal:
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
Instale a extensão mais recente da CLI de Operações do Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Crie um registro de esquema que será usado pelos componentes de Operações de IoT do Azure. Copie e execute o comando az iot ops schema registry create.
Se você optar por usar um registro de esquema existente, esse comando não será exibido na guia Automação.
Observação
Esse comando exige que você tenha permissões de gravação de atribuição de função porque ele atribui uma função para conceder acesso ao registro de esquema à conta de armazenamento. Por padrão, a função é a função interna Colaborador de Dados de Blob de Armazenamento ou você pode criar uma função personalizada com permissões restritas para atribuir. Para obter mais informações, consulte az iot ops schema registry create.
Prepare o cluster para a implantação das Operações do Azure IoT. Copie e execute o comando az iot ops init fornecido.
Dica
O comando
init
só precisa ser executado uma vez por cluster. Se você estiver reutilizando um cluster que já tinha as Operações do Azure IoT versão 0.8.0 implantado nele, ignore esta etapa.Esse comando pode levar vários minutos para ser concluído. Você pode ver o andamento na exibição de progresso da implantação no terminal.
Implantar operações do Azure IoT. Copie e execute o comando az iot ops create fornecido.
Se você seguiu os pré-requisitos opcionais para preparar o cluster para observabilidade, adicione os seguintes parâmetros opcionais ao comando
create
:Parâmetro opcional Valor Descrição --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Forneça o endereço do coletor OpenTelemetry (OTel) configurado no arquivo otel-collector-values.yaml.
Os valores de exemplo usados em Configurar a observabilidade são fullnameOverride=aio-otel-collector e grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Forneça o valor check_interval configurado no arquivo otel-collector-values.yaml.
O valor de exemplo usado em Configurar a observabilidade é check_interval=60.Esse comando pode levar vários minutos para ser concluído. Você pode ver o andamento na exibição de progresso da implantação no terminal.
Habilite a sincronização secreta em sua instância das Operações do Azure IoT implantada. Copie e execute o comando az iot ops secretsync enable fornecido.
Esse comando:
- Cria uma credencial de identidade federada usando a identidade gerenciada atribuída pelo usuário.
- Adiciona uma atribuição de função à identidade gerenciada atribuída pelo usuário para acesso ao Azure Key Vault.
- Adiciona uma classe de provedor de segredo mínima associada à instância das Operações do Azure IoT.
Atribua uma identidade gerenciada atribuída pelo usuário à instância das Operações do Azure IoT implantada. Copie e execute o comando az iot ops identity assign.
Esse comando cria uma credencial de identidade federada usando o emissor OIDC do cluster conectado indicado e a conta de serviço das Operações do Azure IoT.
Depois que todos os comandos da CLI do Azure forem concluídos com sucesso, você poderá fechar o assistente Instalar Operações do Azure IoT.
Depois que o comando create
for concluído com êxito, você terá uma instância das Operações do Azure IoT em execução no cluster. Neste ponto, sua instância está configurada para cenários de produção.
Verificar a implantaçã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
O comando check
exibe um aviso sobre fluxos de dados ausentes, o que é normal e esperado até que você crie um fluxo de dados. Para obter mais informações, confira Processar e rotear dados com fluxos de dados.
Você pode verificar as configurações de mapas de tópico, QoS e rotas de mensagem adicionando o parâmetro --detail-level 2
ao comando check
para obter uma exibição detalhada.
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 de Operações do Azure IoT.