Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
linux:docker_postgresql [2017/05/31 17:44] 1891982 |
linux:docker_postgresql [2021/08/25 10:33] (atual) |
||
---|---|---|---|
Linha 59: | Linha 59: | ||
< | < | ||
$ sudo apt-get install -y docker-engine | $ sudo apt-get install -y docker-engine | ||
+ | </ | ||
+ | |||
+ | * Adicionando o usuário atual do sistema ao grupo que pode usar o docker sem sudo | ||
+ | |||
+ | < | ||
+ | $ sudo usermod -aG docker $(whoami) | ||
+ | </ | ||
+ | |||
+ | ==== Instalando Docker Machine ==== | ||
+ | |||
+ | * Obtenha o script | ||
+ | |||
+ | < | ||
+ | $ wget https:// | ||
+ | </ | ||
+ | |||
+ | * Troque o nome do script | ||
+ | |||
+ | < | ||
+ | $ mv docker-machine-Linux-x86_64 docker-machine | ||
+ | </ | ||
+ | |||
+ | * Dando permissão de executável | ||
+ | |||
+ | < | ||
+ | $ chmod +x docker-machine | ||
+ | </ | ||
+ | |||
+ | * Movendo o script para ficar disponível para os usuários | ||
+ | |||
+ | < | ||
+ | $ sudo mv docker-machine / | ||
+ | </ | ||
+ | |||
+ | ==== Criando e configurando o cluster com o Swarm ==== | ||
+ | |||
+ | * Inicialize o cluster Swarm na máquina primária, no nosso caso, pgpool.ifce.edu.br | ||
+ | |||
+ | < | ||
+ | $ sudo docker swarm init --advertise-addr < | ||
+ | </ | ||
+ | |||
+ | * Obtenha o comando para adicionar novos nós manager | ||
+ | |||
+ | < | ||
+ | $ sudo docker swarm join-token manager | ||
+ | </ | ||
+ | |||
+ | * Copie o código impresso na tela e execute-o nas outras máquinas. O código será semelhante ao código abaixo: | ||
+ | |||
+ | < | ||
+ | docker swarm join \ | ||
+ | --token < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | * Verifique se o cluster está ativo e com todas as máquinas adicionadas. Execute o comando abaixo: | ||
+ | |||
+ | < | ||
+ | $ sudo docker node ls | ||
+ | |||
+ | A resposta será algo parecido com o texto abaixo: | ||
+ | |||
+ | ID HOSTNAME | ||
+ | xxxxxxxxxxxxxxxxxxxxxxxxx | ||
+ | xxxxxxxxxxxxxxxxxxxxxxxxx | ||
+ | xxxxxxxxxxxxxxxxxxxxxxxxx * | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Baixando o repositório git do projeto postgres-docker-cluster ==== | ||
+ | |||
+ | * Gere a chave ssh de apenas da máquina pgpool.ifce.edu.br para ser adicionada no projeto do gitlab | ||
+ | |||
+ | < | ||
+ | $ ssh-keygen -t rsa -C " | ||
+ | </ | ||
+ | |||
+ | * Imprima a chave gerada e copie seu conteúdo para as chaves de deploy no gitlab em: Project > Settings > Repository. Use o comando abaixo para imprimir a chave: | ||
+ | |||
+ | < | ||
+ | $ cat ~/ | ||
+ | </ | ||
+ | |||
+ | * Clone o projeto apenas na máquina pgpool | ||
+ | |||
+ | < | ||
+ | $ git clone git@gitlab.ifce.edu.br: | ||
+ | </ | ||
+ | |||
+ | ==== Fazer deploy dos serviços no Cluster Swarm usando DockerCompose ==== | ||
+ | |||
+ | * Liberação de portas no firewall de entrada e saída entre as 3 máquinas do cluster | ||
+ | |||
+ | Porta **TCP** **2377** para gerenciamento de comunicação entre os nós do cluster | ||
+ | |||
+ | Portas **TCP** e **UDP** **7946** para comunicação entre os nós | ||
+ | |||
+ | Porta **UDP** **4789** para o tráfego de rede | ||
+ | |||
+ | Portas **5440** e **5441** para conexão do postgres entre os nós | ||
+ | |||
+ | Porta **9898** para conexão de gerenciamento PCP do postgres | ||
+ | |||
+ | * Suba os serviços [Apenas na máquina pgpool] | ||
+ | |||
+ | < | ||
+ | $ cd postgres-docker-cluster | ||
+ | $ docker stack deploy --compose-file=docker-compose.yml postgres | ||
+ | </ | ||
+ | |||
+ | ==== Comandos úteis ==== | ||
+ | |||
+ | * Fazer desassociação de um nó do cluster de forma manual caso o comando docker swarm leave -f não funcione: | ||
+ | |||
+ | < | ||
+ | sudo service docker stop | ||
+ | sudo rm -Rf / | ||
+ | sudo service docker start | ||
</ | </ |