Compartilhar via


Início Rápido: Implantar a versão prévia das Operações do Azure IoT em um cluster do Kubernetes habilitado para Arc

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.

Neste guia de início rápido, você implantará um conjunto de serviços de IoT em um cluster do Kubernetes habilitado para Azure Arc para que possa gerenciar remotamente seus dispositivos e cargas de trabalho. As Operações do Azure IoT é um conjunto de operações digitais de serviços que inclui a versão prévia do Orquestrador de Internet das Coisas do Azure. Este guia de início rápido orienta você pelo uso do Orquestrador para implantar esses serviços em um cluster do Kubernetes. No final deste guia, você terá um cluster que poderá ser gerenciado na nuvem que gera os dados de exemplo a serem usados nos próximos guias de início rápido.

Os serviços implantados neste início rápido incluem:

Os próximos guias de início rápido nesta série se baseiam neste guia para definir ativos de amostra, pipelines de processamento de dados e visualizações. Se quiser implantar Operações do Azure IoT para um cluster como o AKS Edge Essentials a fim de executar suas cargas de trabalho, confira Preparar o cluster do Kubernetes habilitado para Azure Arc e Implantar extensões de Operações do Azure IoT em um cluster do Kubernetes.

Antes de começar

Essa série de inícios rápidos destina-se a ajudá-lo a começar com as Operações Azure IoT o mais rapidamente possível para que possa avaliar um cenário de ponta a ponta. Em um ambiente real de desenvolvimento ou produção, essas tarefas seriam realizadas por várias equipes trabalhando juntas e algumas tarefas poderiam exigir permissões elevadas.

Para que a experiência de novo usuário seja a melhor possível, recomendamos usar uma conta gratuita do Azure para que você tenha permissões de proprietário sobre os recursos nestes guias de início rápido. Também fornecemos etapas para usar GitHub Codespaces como um ambiente virtual no qual você pode começar rapidamente a implantar recursos e executar comandos sem instalar novas ferramentas em suas próprias máquinas.

Pré-requisitos

Para esse início rápido, você cria um cluster Kubernetes para receber a implantação do Azure IoT Operations.

Se você quiser repetir esse guia com um cluster que já tenha as Operações do Azure IoT implantadas, siga as etapas em Limpar recursos para desinstalar as Operações do Azure IoT, antes de continuar.

Antes de começar, prepare os seguintes pré-requisitos:

  • Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.

  • Uma conta do GitHub.

  • É necessário ter o Visual Studio Code instalado em seu computador de desenvolvimento. Para obter mais informações, confira Baixar o Visual Studio Code.

Que problema vamos resolver?

As Operações do Azure IoT é um conjunto de serviços de dados executados em clusters do Kubernetes. Você deseja que esses clusters sejam gerenciados remotamente da nuvem e possam se comunicar com segurança com recursos e pontos de extremidade de nuvem. Abordamos essas questões com as seguintes tarefas neste início rápido:

  1. Crie um cluster Kubernetes e conecte-o ao Azure Arc para gerenciamento remoto.
  2. Crie um Azure Key Vault para gerenciar segredos para seu cluster.
  3. Configure seu cluster com um repositório de segredos e uma entidade de serviço para se comunicar com recursos de nuvem.
  4. Implante as Operações do Azure IoT em seu cluster.

Conectar um cluster do Kubernetes ao Azure Arc

As Operações do Azure IoT devem funcionar em qualquer cluster do Kubernetes que esteja em conformidade com os padrões do CNCF (Cloud Native Computing Foundation). Para obter velocidade e conveniência, este início rápido usa os Codespaces do GitHub para hospedar seu cluster.

Importante

Os codespaces são fáceis de configurar rapidamente e desmontar posteriormente, mas não são adequados para avaliação de desempenho ou testes de escala. Use o GitHub Codespaces somente para exploração. Para saber como implantar operações de IoT do Azure em um cluster de produção como o AKS Edge Essentials, confira Preparar seu cluster do Kubernetes habilitado para Azure Arc.

Nesta seção, você criará um novo cluster e o conectará ao Azure Arc. Se você quiser reutilizar um cluster para o qual implantou as Operações do Azure IoT antes, consulte as etapas em Limpar recursos para desinstalar as Operações do Azure IoT, antes de continuar.

Use o GitHub Codespaces para experimentar as Operações do Azure IoT em um cluster do Kubernetes sem instalar nada no computador local. O codespace Azure-Samples/explore-iot-operations já vem pré-configurado com:

  • K3s em execução no K3d para um cluster do Kubernetes leve
  • CLI do Azure
  • Kubectl para gerenciar recursos do Kubernetes
  • Outras ferramentas úteis, como Helm e k9s

Para criar seu codespace e cluster, use as seguintes etapas:

  1. Crie um codespace no GitHub Codespaces.

    Crie um codespace explore-iot-operations

  2. Forneça os seguintes segredos recomendados para o seu codespace:

    Parâmetro Valor
    SUBSCRIPTION_ID Sua ID da assinatura do Azure.
    RESOURCE_GROUP Um nome para um novo grupo de recursos do Azure em que o cluster será criado.
    LOCALIZAÇÃO Uma região do Azure próxima a você. Há suporte para as seguintes regiões na visualização pública: eastus, eastus2, westus, westus2, westus3, westeurope ou northeurope.

    Dica

    Os valores que você fornece como segredos nesta etapa são salvos em sua conta do GitHub para serem usados neste e em seus futuros codespaces. Eles também são adicionados automaticamente como variáveis de ambiente no terminal do codespace e você pode usar essas variáveis de ambiente nos comandos da CLI na próxima seção.

    Além disso, esse codespace cria automaticamente uma variável de ambiente CLUSTER_NAME que é definida com o nome do codespace.

  3. Selecione Criar novo codespace.

  4. Depois que o codespace estiver pronto, selecione o botão de menu no canto superior esquerdo e, em seguida, selecione Abrir na Área de Trabalho do VS Code.

    Abrir a área de trabalho do VS Code

  5. Se solicitado, instale a extensão GitHub Codespaces para Visual Studio Code e entre no GitHub.

  6. No Visual Studio Code, selecione Exibir>Terminal.

    Use esse terminal para executar todos os comandos da linha de comando e da CLI para gerenciar o cluster.

Para conectar seu cluster ao Azure Arc:

  1. No seu terminal codespace, inscreva-se no CLI do Azure:

    az login
    

    Dica

    Se você estiver usando o ambiente de codespace do GitHub em um navegador em vez do desktop do VS Code, a execução az login retornará um erro de host local. Para corrigir o erro:

    • Abra o codespace na área de trabalho do VS Code, retorne ao terminal do navegador e execute az login novamente.
    • Ou, depois de receber o erro localhost no navegador, copie a URL do navegador e execute curl "<URL>" em uma nova guia do terminal. Você deverá ver uma resposta JSON com a mensagem "Você entrou no Microsoft Azure!".
  2. Defina o contexto de assinatura do Azure para todos os comandos:

    az account set -s $SUBSCRIPTION_ID
    
  3. Registre os provedores de recursos necessários em sua assinatura:

    Observação

    Esta etapa só precisa ser executada uma vez por assinatura.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperationsOrchestrator"
    az provider register -n "Microsoft.IoTOperationsMQ"
    az provider register -n "Microsoft.IoTOperationsDataProcessor"
    az provider register -n "Microsoft.DeviceRegistry"
    
  4. Use o comando az group create para criar um grupo de recursos em sua assinatura do Azure para armazenar todos os recursos:

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    
  5. Use o comando az connectedk8s connect para habilitar o Arc no seu cluster do Kubernetes e gerenciá-lo como parte do seu grupo de recursos do Azure:

    az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    

    Dica

    O valor de $CLUSTER_NAME é automaticamente definido como o nome do seu codespace. Substitua a variável de ambiente se desejar usar um nome diferente.

  6. Obtenha o objectId do aplicativo do Microsoft Entra ID usado pelo serviço do Azure Arc e salve como uma variável de ambiente.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Use o comando az connectedk8s enable-features para habilitar o suporte ao local personalizado em seu cluster. Esse comando usa o objectId do aplicativo do Microsoft Entra ID usado pelo serviço do Azure Arc.

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Verificar cluster

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

Esse comando auxiliar verifica a conectividade com os pontos de extremidade do Azure Resource Manager e do Registro de Contêiner da Microsoft.

Implantar as Operações do Azure IoT (versão prévia)

Nesta seção, você usará o comando az iot ops init para configurar seu cluster, de modo que ele possa se comunicar com segurança com os componentes das Operações do Azure IoT e com o cofre de chaves e, em seguida, implantar as Operações do Azure IoT.

Execute os seguintes comandos CLI em seu terminal Codespaces.

  1. Crie um cofre de chaves. Para esse cenário, utilizaremos o mesmo nome e grupo de recursos do seu cluster. Os nomes do Keyvault têm um comprimento máximo de 24 caracteres, portanto o comando CLUSTER_NAMEfollow trunca a variável de ambiente, se necessário.

    az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
    

    Dica

    Você pode usar um cofre de chaves existente para seus segredos, mas verifique se o Modelo de permissão está definido como Política de acesso do cofre. Você pode verificar essa configuração na seção de Configuração de acesso do portal do Azure de um cofre de chaves existente. Ou use o comando az keyvault show para verificar se enableRbacAuthorization é falso.

  2. Implantar operações do Azure IoT. Esse comando levará vários minutos para ser concluído.

    az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
    

    Se você receber um erro informando que Seu dispositivo precisa ser gerenciado para acessar seu recurso, execute az login novamente e faça o login de forma interativa usando um navegador.

    Dica

    Se você já executou az iot ops init antes, ele criou automaticamente um registro de aplicativo no Microsoft Entra ID. Você pode reutilizar esse registro em vez de criar um todas as vezes. Para usar um registro de aplicativo existente, adicione o parâmetro opcional --sp-app-id <APPLICATION_CLIENT_ID>.

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. Continue executando o comando get pods para atualizar sua 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 na seção Configurações do menu.

    Captura de tela que mostra as extensões implantadas no cluster habilitado para Arc.

    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. Essas extensões têm um sufixo exclusivo que identifica sua implantação. Na captura de tela anterior, esse sufixo é -tg45l.

    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.

  4. Anote o nome completo da extensão chamada mq-.... Use esse nome nos guias de início rápido a seguir.

Como resolvemos o problema?

Neste início rápido, você configurou seu cluster do Kubernetes habilitado para Arc para que ele pudesse se comunicar com segurança com seus componentes das Operações do Azure IoT. Em seguida, implantou esses componentes em seu cluster. Para este cenário de teste, você tem um único cluster do Kubernetes que provavelmente está sendo executado localmente em seu computador. Em um cenário de produção, no entanto, você pode usar as mesmas etapas para implantar cargas de trabalho em muitos clusters em vários sites.

Limpar os recursos

Se você continuar no próximo início rápido, mantenha todos os seus recursos.

Se você quiser excluir a implantação das Operações do Azure IoT, mas quiser manter seu cluster, use o comando az iot ops delete.

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Se você quiser excluir todos os recursos criados para este início rápido, exclua o cluster kubernetes no qual implantou as Operações de Internet das Coisas do Azure e remova o grupo de recursos do Azure que continha o cluster.

Próxima etapa