Managed DB
Zamawianie usługi
Aby skorzystać z managed DB będziemy potrzebowali zamówić taką usługę przez Panel OVH.
W tym celu należy w zakładce Databases & Analytics wybrać Databases i utworzyć nową bazę danych.
Wybieramy MySQL wersja 8
rozliczenie: godzinowe
pakiet: Essential
lokalizacja: ta sama w której mamy maszyny wirtualne roadshow-vm2 i roadshow-vm3
rodzaj węzła: db1-4
dodatkowa przestrzeń dyskowa: brak
typ sieci: Prywatna sieć (vRack)
podsieć: ta sama której używają maszyny wirtualne roadshow-vm2 i roadshow-vm3
Instalacja Ansible
Korzystając z chwili czasu podczas gdy baza danych się tworzy możemy zainstalować Ansible, którego będziemy wykorzystywać w kolejnych krokach:
sudo apt update
sudo apt install -y ansible
Konfiguracja usługi managed databases
Po kliknięciu na zamówioną bazę danych w zakładce Autoryzowane adresy IP należy dodać adresy IP z sieci vRack które będą miały możliwość podłączenia się do bazy danych, możemy tam podać cały adres sieci vRack jeśli chcemy aby wszystkie maszyny miały dostęp do bazy danych:
10.250.0.0/16
Następnie dodamy użytkownika, w zakładce Użytkownicy dodajemy nowego użytkownika roadshow
i zapisujemy hasło do niego które zostanie wygenerowane przez panel w bezpiecznym miejscu.
Konfiguracja maszyn wirtualnych
Note
Kroki należy wykonać na maszynie wirtualnej admin
Aby uruchomić testową stronę internetową należy wykonać komendy:
git clone https://github.com/fihufil/ansible-ovh-techlab.git
cd ansible-ovh-techlab
Następnie musimy przeprowadzić konfigurację uruchamiając komendę:
./gen_config.sh
Przykładowe uruchomienie powinno wyglądać tak:
Note
Wartości które należy tutaj wkleić można sprawdzić w Panelu Klienta w zakładce Databases
ubuntu@roadshow-vm2~$ bash ./gen_config.sh
Please enter your database host: mysql-27e32570-of6a5bbe3.database.cloud.ovh.net
Please enter your database username: roadshow
Please enter your database password (your password will not be displayed!):
Please enter your database name: defaultdb
Please enter your database port: 20184
Writing config.php file... done!
Please enter your CA certificate (once pasted press ctrl-d to save!):
-----BEGIN CERTIFICATE-----
V2UncmUgbm8gc3RyYW5nZXJzIHRvIGxvdmUKWW91IGtub3cgdGhlIHJ1bGVzIGFu
ZCBzbyBkbyBJCkEgZnVsbCBjb21taXRtZW50J3Mgd2hhdCBJJ20gdGhpbmtpbmcg
b2YKWW91IHdvdWxkbid0IGdldCB0aGlzIGZyb20gYW55IG90aGVyIGd1eQoKSSBq
dXN0IHdhbnQgdG8gdGVsbCB5b3UgaG93IEknbSBmZWVsaW5nCkdvbm5hIG1ha2Ug
eW91IHVuZGVyc3RhbmQKCk5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCk5ldmVyIGdv
bm5hIGxldCB5b3UgZG93bgpOZXZlciBnb25uYSBydW4gYXJvdW5kIGFuZCBkZXNl
cnQgeW91Ck5ldmVyIGdvbm5hIG1ha2UgeW91IGNyeQpOZXZlciBnb25uYSBzYXkg
Z29vZGJ5ZQpOZXZlciBnb25uYSB0ZWxsIGEgbGllIGFuZCBodXJ0IHlvdQoKV2Un
dmUga25vdyBlYWNoIG90aGVyIGZvciBzbyBsb25nCllvdXIgaGVhcnQncyBiZWVu
IGFjaGluZwpCdXQgeW91J3JlIHRvbyBzaHkgdG8gc2F5IGl0Ckluc2lkZSB3ZSBi
b3RoIGtub3cgd2hhdCdzIGJlZW4gZ29pbmcgb24KV2Uga25vdyB0aGUgZ2FtZSBh
bmQgd2UncmUgZ29ubmEgcGxheSBpdAoKQW5kIGlmIHlvdSBhc2sgbWUgaG93IEkn
bSBmZWVsaW5nCkRvbid0IHRlbGwgbWUgeW91J3JlIHRvbyBibGluZCB0byBzZWUK
Ck5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCk5ldmVyIGdvbm5hIGxldCB5b3UgZG93
bgpOZXZlciBnb25uYSBydW4gYXJvdW5kIGFuZCBkZXNlcnQgeW91Ck5ldmVyIGdv
bm5hIG1ha2UgeW91IGNyeQpOZXZlciBnb25uYSBzYXkgZ29vZGJ5ZQpOZXZlciBn
b25uYSB0ZWxsIGEgbGllIGFuZCBodXJ0IHlvdQoKTmV2ZXIgZ29ubmEgZ2l2ZSB5
b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBh
cm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5l
dmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5k
IGh1cnQgeW91CgpHaXZlIHlvdSB1cC4gZ2l2ZSB5b3UgdXAKR2l2ZSB5b3UgdXAs
IGdpdmUgeW91IHVwCk5ldmVyIGdvbm5hIGdpdmUKTmV2ZXIgZ29ubmEgZ2l2ZSwg
Z2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgZ2l2ZQpOZXZlciBnb25uYSBnaXZlLCBn
aXZlIHlvdSB1cAoKV2UndmUga25vdyBlYWNoIG90aGVyIGZvciBzbyBsb25nCllv
dXIgaGVhcnQncyBiZWVuIGFjaGluZwpCdXQgeW91J3JlIHRvbyBzaHkgdG8gc2F5
IGl0Ckluc2lkZSB3ZSBib3RoIGtub3cgd2hhdCdzIGJlZW4gZ29pbmcgb24KV2Ug
a25vdyB0aGUgZ2FtZSBhbmQgd2UncmUgZ29ubmEgcGxheSBpdAoKSSBqdXN0IHdh
bnQgdG8gdGVsbCB5b3UgaG93IEknbSBmZWVsaW5nCkdvbm5hIG1ha2UgeW91IHVu
ZGVyc3RhbmQKCk5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCk5ldmVyIGdvbm5hIGxl
dCB5b3UgZG93bgpOZXZlciBnb25uYSBydW4gYXJvdW5kIGFuZCBkZXNlcnQgeW91
Ck5ldmVyIGdvbm5hIG1ha2UgeW91IGNyeQpOZXZlciBnb25uYSBzYXkgZ29vZGJ5
ZQpOZXZlciBnb25uYSB0ZWxsIGEgbGllIGFuZCBodXJ0IHlvdQo=
-----END CERTIFICATE-----
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Następnie trzeba edytować plik inventory i wpisać odpowiednie adresy IP dla instancji vm2 i vm3:
nano hosts
Jeśli ktoś utworzył klucz ssh z hasłem, należy w tym momencie stworzyć agenta ssh:
eval $(ssh-agent)
ssh-add
Po skonfigurowaniu możemy wstępnie sprawdzić czy Ansible może połączyć się z maszynami wirtualnymi roadshow-vm2 oraz roadshow-vm3:
ansible all -m ping
Jeśli wszystko działa, możemy skonfigurać instancje przy pomocy ansible uruchamiając komendę
ansible-playbook setup-php-website.yml
Przetestowanie działającej strony
teraz strona powinna zacząć działać, możemy to sprawdzić wchodząc przez przeglądarkę na adres load balancera i dopisując do adresu:
http://<load balancer ip>/mysqltest.php