You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+55-6Lines changed: 55 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,19 @@
1
1
# Infrastructure
2
2
3
3
## Networking
4
-
Foi criada uma rede nova na GCP, a `hivetown`.
5
4
6
-
Nessa, foram depois criadas as **sub-redes** de cada tipo de componentes: `loadbalancers-eu-west4` (10.0.0.0/22), `servicediscovery-eu-west4` (10.0.4.0/22), `database-backups-us-east1` (10.0.112.0/20), `database-eu-west4` (10.0.128.0/18), e `webservers-eu-west4` (10.0.192.0/18).
5
+
### Rede
6
+
Foram criadas novas redes VPC na GCP, a `hivetown` e a `hivetown-external`.
7
7
8
-
Desta forma, para usos futuros, permanece disponível a gama de ips 10.0.8.0/22 até 10.0.108/22.
8
+
#### `hivetown`
9
+
Esta VPC foi então repartida em sub-redes, para ajudar na organização e reserva de endereços para cada tipo de componente:
10
+
-`loadbalancers-eu-west4` (10.0.0.0/22)
11
+
-`servicediscovery-eu-west4` (10.0.4.0/22)
12
+
-`database-backups-us-east1` (10.0.112.0/20)
13
+
-`database-eu-west4` (10.0.128.0/18)
14
+
-`webservers-eu-west4` (10.0.192.0/18)
9
15
10
-
Como os nomes indicam, estão localizadas em `eu-west4` (Países Baixos) com a excepção da `databases-backups-us-east1`, em `us-east1` (Carolina do Sul)
16
+
Como os nomes indicam, estão localizadas em `eu-west4` (Países Baixos) com a excepção da `database-backup-us-east1`, em `us-east1` (Carolina do Sul)
11
17
12
18
<details>
13
19
<summary>Linhas de comandos equivalente:</summary>
- SCOPES É PRECISO SER PERMISSÕES FULL PARA A GCP API
49
-
- LIMITAR ERA BEM PENSADO!!!
50
-
- LIMITAR FIREWALL DOS loadbalancers para apenas trafego vrrp naqueles 2 entre 10.0.0.2 e 10.0.0.3
51
60
52
61
Neste último, no endereço externo, foi propositadamente escolhido "nenhum" pois irá ser criado um **IP Externo** posteriormente.
53
62
@@ -61,19 +70,33 @@ Para isso, foi criado um **Cloud NAT**, porém este não permite gerar uma linha
61
70
>
62
71
> **Cloud Router**: (criado um novo router) `hivetown-eu-west4-router`
63
72
73
+
E o mesmo para a rede `hivetown-external`
74
+
75
+
Como a interface default é a externa, é necessário adicionar uma rota para que os pacotes direcionados à rede interna (pois apenas são aceites para a subrede dos load balancers) sejam redirecionados para a interface interna:
76
+
```bash
77
+
sudo ip route add 10.0.0.0/8 via 10.0.0.1
78
+
```
79
+
80
+
Para automatizar, este *script* foi definido como script de inicialização na VM na criação da mesma
64
81
#### Instalação do Docker
65
82
Ver [tutorial da DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04#step-1-installing-docker)
66
83
84
+
Para facilitar, foi criado um [gist](https://gist.github.com/luckspt/844520409d7410d5a7b0e8f153d8e7e0) que inclui um script para instalar o docker (e também um para o keepalived) que automatiza este processo
67
85
#### Instalação do Keepalived
86
+
<details>
87
+
<summary>É possível usar um script referido acima, ou da forma manual:</summary>
68
88
69
-
Instalar o keepalived
70
-
`sudo apt-get install keepalived`
89
+
```bash
90
+
# Instalar o keepalived
91
+
sudo apt-get install keepalived
71
92
72
-
Iniciar o keepalived quando a VM inicia
73
-
`sudo systemctl enable keepalived`
93
+
#Iniciar o keepalived quando a VM inicia
94
+
sudo systemctl enable keepalived
74
95
75
-
Iniciar o keepalived imediatamente
76
-
`sudo systemctl start keepalived`
96
+
# Iniciar o keepalived imediatamente
97
+
sudo systemctl start keepalived
98
+
```
99
+
</details>
77
100
78
101
Depois, foram copiados os ficheiros de configuração de cada tipo:
Finalmente, reinicia-se o keepalived para que os ficheiros se configuração sejam usados:
88
-
`sudo systemctl restart keepalived`
111
+
```bash
112
+
sudo systemctl restart keepalived
113
+
```
89
114
90
-
### Backup
91
-
Após a configuração do Master foi possível criar uma máquina semelhante (usando a interface da Console do GCP).
115
+
### Backup (passivo)
116
+
Após a configuração do Master (ativo) foi necessário criar uma máquina com características idênticas, substituíndo o nome (`loadbalancer-2`, os ips internos `10.0.0.3` e `10.255.0.3`), e a região (`europe-west4-b`):
92
117
93
-
Alterações a notar:
94
-
> **Nome**: `loadbalancer-backup`
95
-
>
96
-
> **Zona**: `europe-west4-b`
97
-
>
98
-
> **Endereço principal interno**: Temporário (personalizado): `10.0.0.3`
0 commit comments