Przejdź do treści

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