Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um cluster Kubernetes habilitado para Azure Arc é um pré-requisito para implantar as Operações do Azure IoT. Este artigo descreve como preparar um cluster antes de implantar as Operações IoT do Azure. Este artigo inclui orientações para o Ubuntu, Windows, Azure Local e Tanzu Kubernetes Grid (TKG).
Se você quiser implantar as Operações do Azure IoT rapidamente e executar uma carga de trabalho de exemplo em um ambiente de teste, consulte Guia de início rápido: executar operações do Azure IoT no GitHub Codespaces com K3s.
Pré-requisitos
A Microsoft oferece suporte ao Azure Kubernetes Service (AKS) Edge Essentials para implantações no Windows, K3s para implantações no Ubuntu, implantações AKS no Azure Local e Tanzu Kubernetes release (TKr) no TKG. Se você quiser implantar o Azure IoT Operations em uma solução de vários nós, use o K3s no Ubuntu.
Para preparar um cluster Kubernetes habilitado para Azure Arc, você precisa:
Uma assinatura do Azure com a função Proprietário ou uma combinação de funções de Colaborador e Administrador de Acesso de Usuário. Pode verificar o seu nível de acesso navegando até à sua subscrição, selecionando Controlo de acesso (IAM) no lado esquerdo do portal do Azure e, em seguida, selecionando Ver o meu acesso. Se você não tiver uma assinatura do Azure, crie uma gratuitamente antes de começar.
Um grupo de recursos do Azure. Apenas uma instância do Azure IoT Operations é suportada por grupo de recursos. Para criar um novo grupo de recursos, use o comando az group create . Para obter a lista de regiões do Azure atualmente suportadas, consulte Regiões suportadas.
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>Azure CLI versão 2.62.0 ou mais recente instalada em sua máquina de cluster. Utilize
az --versionpara verificar a sua versão eaz upgradepara atualizar, se necessário. Para obter mais informações, consulte Como instalar a CLI do Azure.A versão mais recente da extensão connectedk8s para a CLI do Azure:
az extension add --upgrade --name connectedk8s
Hardware que atende aos requisitos do sistema:
Se você vai implantar o Azure IoT Operations em um cluster de vários nós com tolerância a falhas habilitada, revise os requisitos de hardware e armazenamento em Preparar Linux para Volumes de Borda.
Criar e habilitar um cluster para Arc
Esta seção fornece etapas para criar clusters em ambientes validados no Linux e no Windows.
Para preparar um cluster K3s Kubernetes no Ubuntu:
Crie um cluster K3s de nó único ou de vários nós. Para exemplos, consulte o guia de início rápido do K3s ou projetos relacionados ao K3s.
Verifique se o kubectl foi instalado como parte do K3s. Caso contrário, siga as instruções para Instalar o kubectl no Linux.
kubectl version --clientSiga as instruções para instalar o Helm.
Crie um arquivo yaml de configuração do K3s em
.kube/config:mkdir ~/.kube sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged mv ~/.kube/merged ~/.kube/config chmod 0600 ~/.kube/config export KUBECONFIG=~/.kube/config #switch to k3s context kubectl config use-context default sudo chmod 644 /etc/rancher/k3s/k3s.yamlExecute o seguinte comando para aumentar os limites de observação/instância do usuário.
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -pPara um melhor desempenho, aumente o limite do descritor de ficheiros:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Ativar Arc no seu cluster
Conecte seu cluster ao Azure Arc para que ele possa ser gerenciado remotamente.
Em uma máquina que tenha
kubectlacesso ao cluster, entre na CLI do Azure com sua conta de usuário do Microsoft Entra que tem a(s) função(ões) necessária(s) para a assinatura do Azure:az loginSe, em algum momento, você receber um erro dizendo que seu dispositivo precisa ser gerenciado para acessar seu recurso, execute
az loginnovamente e certifique-se de entrar interativamente com um navegador.Depois de entrar, a CLI do Azure exibe todas as suas assinaturas e indica sua assinatura padrão com um asterisco
*. Para continuar com sua assinatura padrão, selecioneEnter. Caso contrário, digite o número da assinatura do Azure que você deseja usar.Registe os fornecedores de recursos necessários na sua subscrição.
Observação
Esta etapa só precisa ser executada uma vez por assinatura. Para registar provedores de recursos, é necessário ter permissão para executar a
/register/actionoperação, que está incluída nos papéis de Colaborador e Proprietário da subscrição. Para obter mais informações, consulte Tipos e provedores de recursos do Azure.az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"Use o comando az connectedk8s connect para habilitar seu cluster Kubernetes e gerenciá-lo como parte do seu grupo de recursos do Azure.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity --disable-auto-upgradePara evitar atualizações não planejadas para o Azure Arc e as extensões de arco do sistema que o Azure IoT Operations usa como dependências, este comando desabilita a atualização automática. Em vez disso, atualize manualmente os agentes conforme necessário.
Importante
Se seu ambiente usa um servidor proxy ou o Azure Arc Gateway, modifique o comando com suas informações de
az connectedk8s connectproxy:- Siga as instruções em Conectar usando um servidor proxy de saída ou Integrar clusters Kubernetes ao Azure Arc com o Azure Arc Gateway.
- Adicione
169.254.169.254ao--proxy-skip-rangeparâmetro doaz connectedk8s connectcomando. O Registro de Dispositivo do Azure usa esse ponto de extremidade local para obter tokens de acesso para autorização.
O Azure IoT Operations não oferece suporte a servidores proxy que exigem um certificado confiável.
Obtenha a URL do emissor do cluster.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsvSalve a saída deste comando para usar nas próximas etapas.
Crie um arquivo de configuração do k3s.
sudo nano /etc/rancher/k3s/config.yamlAdicione o seguinte conteúdo ao arquivo
config.yaml, substituindo o marcador de posição<SERVICE_ACCOUNT_ISSUER>pela URL do emissor do cluster.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24hSalve o arquivo e saia do editor nano.
Prepare-se para habilitar o serviço Azure Arc, local personalizado, em seu cluster Arc obtendo a ID do objeto de local personalizado e salvando-a como a variável de ambiente, OBJECT_ID. Você deve estar conectado à CLI do Azure com uma conta de usuário do Microsoft Entra para executar o comando com sucesso, não um principal de serviço. Execute o seguinte comando exatamente como escrito, sem alterar o valor do GUID.
export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)Observação
Se receberes o erro: "Não é possível obter o oid da aplicação 'custom-locations'. Prosseguindo sem ativar o recurso. Privilégios insuficientes para concluir a operação", então sua entidade de serviço pode não ter as permissões necessárias para recuperar a ID do objeto do local personalizado. Faça logon na CLI do Azure com uma conta de usuário do Microsoft Entra que atenda aos pré-requisitos. Para obter mais informações, consulte Criar e gerenciar locais personalizados.
Use o comando az connectedk8s enable-features para habilitar o recurso de localização personalizada em seu cluster Arc. Este comando usa a variável de ambiente OBJECT_ID salva da etapa anterior para definir o valor para o parâmetro custom-locations-oid. Execute este comando na máquina onde você implantou o cluster Kubernetes:
az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locationsReinicie o K3s.
systemctl restart k3s
Configure clusters de múltiplos nós para o Azure Container Storage ativado pelo Azure Arc
Funcionalidades como o fluxo de dados, endpoints de armazenamento local e o conector de media utilizam opcionalmente o Azure Container Storage ativado pelo Azure Arc (ACSA) para sincronizar dados locais para a cloud. O ACSA não está instalado como parte do Azure IoT Operations, por isso deve instalá-lo separadamente.
Em clusters Ubuntu com vários nós e pelo menos três nós, pode ativar a tolerância a falhas para armazenamento ACSA. Para habilitar a tolerância a falhas durante o desdobramento, siga os passos em Preparar Linux para Volumes de Borda usando um cluster multi-nós do Ubuntu para configurar o seu cluster.
Se você estiver executando seu cluster em uma distribuição Kubernetes diferente do k3s, revise as orientações para Preparar o Linux com outras plataformas.
Configuração avançada
Neste ponto, quando você tiver um cluster Kubernetes habilitado para Azure Arc, mas antes de implantar o Azure IoT Operations nele, convém configurar seu cluster para cenários avançados.
- Se você quiser habilitar recursos de observabilidade no cluster, siga as etapas em Implantar recursos de observabilidade e configurar logs.
- Se você quiser configurar seu próprio emissor de certificado no cluster, siga as etapas em Gerenciamento de certificados > Traga seu próprio emissor.
Próximos passos
Agora que você tem um cluster Kubernetes habilitado para Azure Arc, pode optar por implantar a Operação IoT do Azure com configurações de teste ou com configurações de produção.
- Implantação de teste: Recomendado para avaliação rápida e prototipagem antes da implantação em produção. A implantação de teste não é adequada para produção, carece de observabilidade e segurança reforçada.
- Implantação de produção: recomendada para cargas de trabalho prontas para produção. A implantação de produção é adequada para implantações de IoT do mundo real com necessidades de conformidade e segurança.