6. Guia de instalação

Esta página contém informação de como instalar a dojot utilizando o Docker Compose e o Kubernetes.

6.1. Requisitos de hardware

Ao escolher as configurações de hardware para a implantação da Dojot , deve-se considerar o número de dispositivos e o intervalo de mensagens com os quais eles serão configurados. Por exemplo, os requisitos de hardware estimados para 500 dispositivos com um intervalo de mensagens a cada 15s são:

Tabela 6.1 Requisitos de hardware para 500 dispositivos

Implantação da dojot

CPU

RAM

Espaço livre em disco

Docker Compose

4 Núcleos

6GB

20GB

Kubernetes

Master

2 Núcleos

2GB

30GB

Kubernetes

Worker

4 Núcleos

6GB

40GB

Kubernetes

Balancer

1 Núcleo

1GB

10GB

Além disso, são necessários:

  • Acesso à rede

  • As seguintes portas devem estar abertas para a instalação com Docker Compose:
    • TCP: 8000 (acesso a interface web); 1883 (MQTT, se você irá usar MQTT); 5896 (LWM2M, se você irá usar o serviço de arquivos LWM2M por HTTP ao invés do protocolo coap, UDP).

    • TLS: 8883 (MQTTS, se você irá usar MQTT com TLS, no modo seguro).

    • UDP: 5683 e 5693 (LWM2M, se você irá usar LWM2M); 5684 e 5694 (LWM2M, se você irá usar LWM2M com DTLS).

  • As seguintes portas devem estar abertas no balanceador de carga para a instalação com Kubernetes:
    • TCP: 80 (acesso a interface web); 1883 (MQTT, se você irá usar MQTT); 5896 (LWM2M, se você irá usar o serviço de arquivos LWM2M por HTTP ao invés do protocolo coap, UDP).

    • TLS: 8883 (MQTTS, se você irá usar MQTT com TLS, no modo seguro).

    • UDP: 5683 e 5693 (LWM2M, se você irá usar LWM2M); 5684 e 5694 (LWM2M, se você irá usar LWM2M com DTLS).

Nota: Os núcles acima são de aproximadamente 3.5 GHz (x86-64)

6.2. Docker Compose


Neste video tutorial acima é utilizada a versão v0.4.2, mas o mesmo video é válido para a versão atual, apenas é necessário mudar pra a versão v0.6.0

Este documento contém instruções de como criar um ambiente para instalação trivial da dojot em um único host utilizando o Compose como o processo de orquestração da plataforma.

Muito simples, esta opção de instalação é a que melhor se adapta para desenvolvimento e verificação da plataforma dojot, mas não é aconselhável para ambientes de produção.

Este guia foi verificado utilizando-se o sistema operacional Ubuntu 18.04 LTS.

As seções seguintes descrevem todas as dependências do Docker Compose.

6.2.1. Docker Engine (motor do Docker)

Este guia foi verificado utilizando o Docker Engine na versão 19.03

Informações atualizadas e procedimentos de instalação para o Docker Engine podem ser encontrados na documentação do projeto:

https://docs.docker.com/engine/install/ubuntu/

Nota

Um passo adicional no processo de instalação e configuração do Docker em um determinado equipamento é definir quem será elegível para criar/iniciar instâncias do Docker.

Caso os passos pós-instalação não tiverem sido executados (mais especificamente o “Manage Docker como usuário não-root”), todos os comandos do Docker e do Compose devem ser executados pelo super usuário (root), ou invocando o sudo.

https://docs.docker.com/engine/installation/linux/linux-postinstall/

6.2.2. Docker Compose

Este guia foi verificado utilizando o Compose na versão 1.27

Informações atualizadas sobre procedimentos de instalação para o Compose podem ser encontradas na documentação do projeto:

https://docs.docker.com/compose/install/

6.2.3. Instalação

Para construir o ambiente, simplesmente clone o repositório e execute os comandos abaixo.

O repositório com os scripts de instalação e configuração do Docker Compose pode ser encontrados em:

https://github.com/dojot/docker-compose

ou com o comando git clone:

git clone https://github.com/dojot/docker-compose.git
# Let's move into the repo - all commands in this page should be executed
# inside it.
cd docker-compose

Uma vez que o repositório esteja propriamente clonado, selecione a versão a ser utilizada por meio da tag apropriada (note que o tag_name deve ser substituído):

# Must be run from within the deployment repo

git checkout tag_name -b branch_name

Por exemplo:

git checkout v0.6.0 -b v0.6.0

Feito isso, o ambiente pode ser iniciado assim:

# Must be run from the root of the deployment repo.
# May need sudo to work: sudo docker-compose up -d
docker-compose up -d

Para verificar o estado de um container individual, comandos do Docker podem ser utilizados, como por exemplo:

# Shows the list of currently running containers, along with individual info
docker ps

# Shows the list of all configured containers, along with individual info
docker ps -a

Nota

Todos os comandos para Docker e Docker Compose podem requerer credenciais de super usuário (root) ou sudo.

Para permitir usuários “não-root” gerenciar o Docker, confira a documentação do Docker:

https://docs.docker.com/engine/installation/linux/linux-postinstall/

6.2.4. Volumes

Quando fazemos o deploy da dojot com o comando ‘docker-compose up -d’, por padrão, os volumes são habilitados e criados.

Os volumes dos microsserviços que a dojot utiliza podem ser incompatíveis entre as versões da dojot. Isso significa que não é possível usar os volumes da dojot v0.4.x na dojot v0.5.x ou acima e vice versa

Para usar diferentes versões da dojot no mesmo ambiente, você primeiramente deve derrubar os volumes da outra versão.

Nota

Se você derrubar os volumes da dojot, você perderá totos os dados coletados na plataforma até o momento.

Para derrubar os volumes basta passar o parâmetro ‘-v’ no comando ‘docker-compose down’ como exibido abaixo:

docker-compose down -v

Dessa forma, a dojot e os volumes serão derrubados e você será capaz de fazer deploy de uma versão diferente da dojot.

6.2.5. Utilização

A interface web está disponível em http://localhost:8000. O usuário é admin e a senha é admin. Você também pode interagir com a plataforma utilizando o Componentes e APIs.

Leia o Utilizando a API da dojot e Usando a interface WEB para maiores informações sobre como interagir com a plataforma dojot.

6.3. Kubernetes

Para uma instalação simples com kubernetes por favor, verifique o pdf abaixo.

Clique aqui para acessar o guia de instalação da dojot com kubernetes

Se você deseja instalar uma Dojot mais robusta que suporte até 100k dispositivos, verifique o pdf abaixo.

Nota

No ambiente 100k, a dojot não processa e nem armazena as mensagens enviadas pelos dispositivos. Esse ambiente só irá funcionar para testes de carga e apenas alguns componentes da dojot estarão disponíveis.

Clique aqui para acessar o guia de instalação da dojot 100k com kubernetes

Nota

Infelizmente ainda não possuímos suporte para língua inglesa nesse tutorial