Jak poprawnie konfigurować serwer od podstaw cz.3 – Automatyzacja

Jak poprawnie konfigurować serwer od podstaw cz.3 – Automatyzacja

Czy muszę ciągle logować  się do każdego serwera i ciągle powtarzać te same kroki to jest  monotonne i wkurzające.

Teraz ciebie na szybko wprowadzimy do działania podstawowego działania automatyzacji perfekcyjne znanie takich języków jak Python zostaw nam nie będziesz potrzebował tego by pojąć technikę automatyzacji.

Pierwsze zadanie które jest przed tobą to stworzenie logowania między serwerami bez hasła tak tą czynność będziesz musiał wykonać samodzielnie chyba że twój operator umożliwia dodanie do instancji klucza SSH

ssh-keygen

Naciśnij dwa razy enter klucz zostanie wygenerowany. Teraz pora wysłać klucz do serwerów na wszystkie instancje tak to czeka teraz ciebie ostatni raz musisz sie logować na serwery i podawać hasło przy eksporcie

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Na swoim głównym serwerze zainstaluj oprogramowanie do orkiestracji czyli w skrócie wszystkie operacje będziesz wykonywać z jednego serwera masowo na każdym z nich. Zrób tylko to na głównym serwerze

yum install ansible

Po instalacji tego oprogramowania przejdź do

cd /etc/ansible

Otwórz edytorem plik

nano /etc/ansible/ansible.cfg

Utwórz regułkę nie sprawdzaj kluczy za każdym razem. Jeśli nie podasz takiej wartości przed wydaniem polecenia do masowego wykonania zadania na instancjach będziesz ręcznie potwierdzał klucz
host_key_checking = False
Dodanie listy serwerów do listy
nano /etc/ansible/hosts
Pamiętaj all wykonuje na każdym hoście polecenie.
Gdy dzielisz serwery na grupy podaj na końcu polecenia serwery zamiast all
Uzupełnij go o listę serwerów zgodnie z poniższym wzorem
[SERWERY]
172.16.61.1
172.16.61.2
172.16.61.3
172.16.61.4
172.16.61.5
172.16.61.6
172.16.61.7

Polecam dzielić sobie je na sekcje z usługami

[MYSQL]
172.16.61.3
172.16.61.4
[CACHE]
172.61.61.6
172.61.61.7

Jak wykonać prosty test to działa
wydaj polecenie
ansible -m ping all
W odpowiedzi otrzymasz taki komunikat
[email protected]:/etc/ansible# ansible -m ping all
172.16.61.1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.2 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.4 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.5 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.6 | SUCCESS => {
"changed": false,
"ping": "pong"
}
172.16.61.7 | SUCCESS => {
"changed": false,
"ping": "pong"
}

To znaczy ze wszystko poprawnie działa masz połączenie.

Teraz masowo dodamy dostęp na wszystkich instancjach dostęp do centralnego Storage za pomocą prostych poleceń, nie będziesz musiał za każdym razem się tam logować.
Instalacja masowo klienta nfs

ansible -m shell 'yum install nfs-utils -y' all
Otwarcie portów na serwerach

ansible -m shell 'firewall-cmd --permanent --zone=public --add-service=nfs' all
ansible -m shell 'firewall-cmd --permanent --zone=public --add-service=mountd' all
ansible -m shell 'firewall-cmd --permanent --zone=public --add-service=rpc-bind'all
ansible -m shell 'firewall-cmd --reload' all

Tworzymy punkt montowania na serwerach masowo jak leci.

ansible -m shell 'mkdir /nfs' all
ansible -m shell 'mount -t nfs 172.16.61.8:/home/wordpress /nfs' all
Jak widzisz wszystko się poprawnie wykonało masowo na każdym serwerze w innym przypadku musiał byś się logować na każdy serwer osobno, o ansible powiemy więcej w przyszłych webinarach

Dodanie regułki do fstab
ansible -m shell 'echo "172.16.61.8:/home/wordpress /nfs nfs defaults 0 0" /etc/fstab' all

Można to wykonać ręcznie poniżej opis.

yum install nfs-utils -y

firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload

mkdir /nfs
mount -t nfs 172.16.61.8:/home/wordpress /nfs
echo "172.16.61.8:/home/wordpress /nfs nfs defaults 0 0" /etc/fstab

Share this post

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *