6. Guia de instalação¶
Esta página contém informação de como instalar a dojot utilizando o Docker Compose e o Kubernetes.
Table of Contents
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:
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¶
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:
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.7.0 -b v0.7.0
Nota
Para obter um guia sobre como usar HTTPS, acesse este link: https://github.com/dojot/docker-compose/tree/v0.7.0#how-to-secure-dojot-with-nginx-and-lets-encrypt
Atenção
Antes de executar o comando abaixo, é necessário definir seu domínio ou IP no arquivo .env
na variável DOJOT_DOMAIN_NAME
.
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
Nota
Para ficar completamente pronto, saudável, todos os serviços neste docker-compose levam em média pelo menos 12 minutos.
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.
Atenção
Sempre altere a senha do usuário “admin” para uma senha adequada e mantenha-a segura.
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.