Implantação do USP Controller na nuvem Microsoft Azure

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 -tulenO 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.gitroot@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 -dCertifique-se de que concluímos os passos corretamente. Tente este comando:
root@younesHost:/home/younes# docker ps -aVocê 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 eth0E 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.
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.


