Implantação do USP Controller na nuvem Microsoft Azure

Published by
on
November 15, 2024

Implantação do USP Controller na Nuvem

Hoje em dia, as empresas precisam de softwares que se adaptem rapidamente e funcionem perfeitamente em diferentes ambientes. O Oktopus é uma solução personalizada e, como muitas ferramentas poderosas, sua implantação pode ser um desafio. Neste blog, mostraremos como implantar o Oktopus usando Docker-Compose. Se você procura uma maneira direta de implantar o Oktopus sem dores de cabeça, este guia é para você.

Nota:

Nesta postagem, assumimos que você possui uma conta Microsoft com uma assinatura válida do Azure. Caso contrário, sinta-se à vontade para se inscrever no portal do Azure onde você pode começar com créditos gratuitos para explorar e testar os serviços do Azure.

Parte 1: Implantação da arquitetura geral

A maneira mais fácil de instalar o Oktopus é no modo autônomo, com todos os componentes rodando na mesma máquina. No entanto, em um ambiente de produção, recomenda-se implantar os MTPs (Broker MQTT, Websockets e servidores STOMP) e o ACS em servidores diferentes dos microsserviços principais do Oktopus. Dessa forma, você pode escalar sua solução e ter um ambiente mais robusto e seguro.

O Oktopus Controller tem suporte ao protocolo TR-069 com ACS e todos os MTPs USP também, embora neste blog vamos focar no padrão USP via MQTT.

Nossa abordagem consiste em implantar os seguintes componentes do Oktopus: USP Controller, broker MQTT e USP Agent (CPE). Todas as partes serão detalhadas nos próximos parágrafos.

Parte 2: Provisionamento de infraestrutura

1. Criando VMs

Para começar, primeiro criamos duas máquinas virtuais (VMs) Linux usando o portal do Azure. Certifique-se de ter acesso total a essas máquinas, incluindo terminal SSH e privilégios de root. Se encontrar alguma dificuldade durante a configuração, sinta-se à vontade para conferir este tutorial útil para obter orientações passo a passo.

Para este blog, realizaremos nossos testes usando os seguintes planos de VM do Azure, que recomendamos para um desempenho ideal:

  • Servidor MQTT (VM1): plano B2s
  • Oktopus (VM2): plano B1s

2. Instalando o Docker

Instale o Docker e o Docker-Compose em ambas as VMs. O processo de instalação está bem documentado na documentação oficial do Docker.

3. Definindo regras de rede

Como você sabe, o MQTT usa a porta 1883, mas ela não é permitida por padrão. Portanto, precisamos definir novas regras de porta em ambas as VMs.

Escolha VM1-> Rede da VM -> Regras de entrada -> Adicionar regra de porta de entrada.

Também precisamos criar a mesma regra de porta usando as mesmas características para conexões de saída.

Escolha VM1-> Rede -> Regras de saída -> Adicionar regra de porta de saída

Para garantir que concluímos as etapas corretamente, tente uma conexão SSH para ambas as VMs e execute este comando na VM1:

younes@BrokerMachine:~$ netstat -tulen

O resultado deve ser semelhante a este:

4. Preparando o ambiente do agente

Como visto na seção de arquitetura, implantaremos o OBUSPA em três ambientes diferentes. No entanto, focaremos especificamente no ambiente WSL (Windows Subsystem for Linux). Ainda assim, você pode seguir as mesmas etapas fornecidas neste guia para instalar o agente USP em qualquer outra distribuição Linux ou macOS.

Instalar o WSL é simples. Basta seguir as instruções fornecidas na documentação oficial da Microsoft para configurar e executar o WSL em seu sistema.

Parte 3: Implantação de diferentes componentes

1. Broker MQTT

Para usar o Oktopus, precisamos implantar um broker MQTT desenvolvido sob medida. Este broker é baseado no broker de código aberto Mochi MQTT, mas foi aprimorado para automatizar ações específicas por meio de hooks predefinidos (por exemplo, envio de tópicos que incluem o EndpointID do Agente, cabeçalhos de pacotes MQTT personalizados, entre outras tarefas).

Para começar, basta baixar a imagem Docker e seguir estas etapas para iniciar o broker:

younes@BrokerMachine:~$ sudo docker pull oktopusp/mqtt
younes@BrokerMachine:~$ sudo docker run -d --name mqtt_container -p 1883:1883 oktopusp/mqtt

O resultado deve ser semelhante a este

2. Controlador USP

A próxima tarefa é instalar o Controlador Oktopus na VM2. Para isso, siga os passos abaixo:

root@younesHost:/home/younes# git clone https://github.com/OktopUSP/oktopus.git
root@younesHost:/home/younes# cd oktopus/deploy/compose/

Para que o Oktopus reconheça o servidor MQTT que acabamos de instalar na VM1, precisamos configurá-lo editando o valor da variável "MQTT_URL" definida em "deploy/compose/.env.mqtt-adapter". O valor será o endereço IP do servidor MQTT (VM1).

root@younesHost:/home/younes/oktopus/deploy/compose# nano .env.mqtt.adapter
MQTT_URL=tcp://<vm1_ip_address>:1883

O passo final é iniciá-lo

root@younesHost:/home/younes/oktopus/deploy/compose# COMPOSE_PROFILES=nats,controller,mqtt,adapter,frontend docker compose up -d

Certifique-se de que concluímos os passos corretamente. Tente este comando:

root@younesHost:/home/younes# docker ps -a

Você deverá ver todos os contêineres do Oktopus listados com o status "Up".

3. OBUSPA

Como mencionado anteriormente, instalaremos o OBUSPA no WSL. Os passos completos estão detalhados no repositório oficial do Broadband Forum no GitHub, em seção GUIA DE INÍCIO RÁPIDO.

Nota:

Aqui instalamos o OBUSPA ao nível do sistema operacional, mas também é possível executá-lo em um ambiente conteinerizado. O agente USP é encapsulado em um contêiner Docker fácil de usar. Você pode alterar o arquivo de redefinição de fábrica da mesma forma que faremos abaixo e, em seguida, executar o agente conforme explicado em documentação do Simulador de Agente Oktopus.

O objetivo é garantir que o agente reconheça o controlador através da conexão MQTT. Para isso, precisamos modificar o modelo de dados do agente. Especificamente, editaremos o arquivo de redefinição de fábrica do OBUSPA. Existe um modelo de configuração MQTT disponível no GitHub, que você pode acessar e baixar aqui.

Agora, edite o arquivo adicionando o endereço IP público do servidor MQTT:

Device.MQTT.Cient.1.BrokerAddress "<public_ip_address_of_mqtt_server_vm1>"

Tenha cuidado ao fazer alterações, pois editar outros valores pode causar problemas. Manuseie o arquivo com atenção para evitar imprevistos.

Parte 4: Resultados e Validação

Chegou a hora de ver os resultados de todo o seu trabalho. Após acessar a interface web do Oktopus (ela usa o mesmo endereço IP público da VM2), crie um usuário e faça login.

Inicie o agente (no ambiente WSL) usando o arquivo de configuração que acabamos de editar. Você pode simplesmente usar este comando:

$ obuspa -p -v 4 -r oktopus-mqtt-obuspa.txt -i eth0

E pronto. O agente está conectado com sucesso ao Oktopus:

Após uma longa jornada, você concluiu todas as etapas essenciais. Parabéns pela sua perseverança e dedicação; chegar até aqui é uma conquista significativa! Com tudo configurado, o Oktopus Controller está pronto para uso e você está preparado para aprimorar e otimizar suas funcionalidades conforme necessário.

Para cargas de trabalho em produção, há muitos detalhes e aspectos a considerar, mas os três principais tópicos não abordados neste blog são:

  • Criptografia MQTT TLS.
  • TLS para a interface web do Oktopus.
  • Autenticação do agente USP no MQTT.

Esperamos abordar esses temas em uma futura postagem no blog.

Fique atento para mais conteúdos sobre o Oktopus, o protocolo USP e como ele está ajudando empresas do setor de telecomunicações a crescer e oferecer serviços melhores e mais variados aos seus clientes.

Published by
COMEÇAR AGORA

Assuma o controle da sua
rede hoje mesmo

O USP Controller e ACS TR-069 mais utilizado no mundo, com
recursos de nível empresarial e sem dependência de fornecedor.