linux:docker_postgresql

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
linux:docker_postgresql [2017/05/31 17:54]
1891982
linux:docker_postgresql [2021/08/25 10:33] (atual)
Linha 72: Linha 72:
  
 <code> <code>
-wget https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-$(uname -s)-$(uname -m)+wget https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-$(uname -s)-$(uname -m)
 </code> </code>
  
Linha 78: Linha 78:
  
 <code> <code>
-mv docker-machine-Linux-x86_64 docker-machine+mv docker-machine-Linux-x86_64 docker-machine
 </code> </code>
  
Linha 84: Linha 84:
  
 <code> <code>
-chmod +x docker-machine+chmod +x docker-machine
 </code> </code>
  
Linha 90: Linha 90:
  
 <code> <code>
-sudo mv docker-machine /usr/local/bin+sudo mv docker-machine /usr/local/bin 
 +</code> 
 + 
 +==== Criando e configurando o cluster com o Swarm ==== 
 + 
 +* Inicialize o cluster Swarm na máquina primária, no nosso caso, pgpool.ifce.edu.br 
 + 
 +<code> 
 +$ sudo docker swarm init --advertise-addr <IP_VALIDO_DA_MAQUINA> 
 +</code> 
 + 
 +* Obtenha o comando para adicionar novos nós manager 
 + 
 +<code> 
 +$ sudo docker swarm join-token manager 
 +</code> 
 + 
 +* Copie o código impresso na tela e execute-o nas outras máquinas. O código será semelhante ao código abaixo: 
 + 
 +<code> 
 +docker swarm join \ 
 +    --token <TOKEN_MANAGER>
 +    <IP_VALIDO_DA_MAQUINA_LEADER>:2377 
 +</code> 
 + 
 +* Verifique se o cluster está ativo e com todas as máquinas adicionadas. Execute o comando abaixo: 
 + 
 +<code> 
 +$ sudo docker node ls 
 + 
 +A resposta será algo parecido com o texto abaixo: 
 + 
 +ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS 
 +xxxxxxxxxxxxxxxxxxxxxxxxx     postgres-master     Ready               Active              Reachable 
 +xxxxxxxxxxxxxxxxxxxxxxxxx     postgres-slave      Ready               Active              Reachable 
 +xxxxxxxxxxxxxxxxxxxxxxxxx *   pgpool              Ready               Active              Leader 
 +</code> 
 + 
 + 
 +==== 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 
 + 
 +<code> 
 +$ ssh-keygen -t rsa -C "suporte@ifce.edu.br" -b 4096 
 +</code> 
 + 
 +* 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: 
 + 
 +<code> 
 +$ cat ~/.ssh/id_rsa.pub 
 +</code> 
 + 
 +* Clone o projeto apenas na máquina pgpool 
 + 
 +<code> 
 +$ git clone git@gitlab.ifce.edu.br:dgti/postgres-docker-cluster.git 
 +</code> 
 + 
 +==== 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] 
 + 
 +<code> 
 +$ cd postgres-docker-cluster 
 +$ docker stack deploy --compose-file=docker-compose.yml postgres 
 +</code> 
 + 
 +==== Comandos úteis ==== 
 + 
 +* Fazer desassociação de um nó do cluster de forma manual caso o comando docker swarm leave -f não funcione: 
 + 
 +<code> 
 +sudo service docker stop 
 +sudo rm -Rf /var/lib/docker/swarm 
 +sudo service docker start
 </code> </code>
  • linux/docker_postgresql.1496264040.txt.gz
  • Última modificação: 2021/08/25 10:33
  • (edição externa)