Instalowanie Ansible:
Ansible jest dostępny w repozytorium EPEL w Centos 8. Możesz więc łatwo zainstalować ansible w Centos 8.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów DNF za pomocą następującego polecenia:
$ sudo dnf makeCache
Teraz, aby włączyć repozytorium EPEL, zainstaluj Epel-Release Pakiet z następującym poleceniem:
$ sudo dnf instaluj epel-uwalnianie
Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .
Epel-Release Pakiet powinien być zainstalowany i należy włączyć repozytorium EPEL.
Teraz ponownie zaktualizuj pamięć podręczną repozytorium pakietów DNF za pomocą następującego polecenia:
$ sudo dnf makeCache
Teraz zainstaluj ansible z następującym poleceniem:
$ sudo dnf instaluj ansible
Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .
DNF powinien zacząć pobierać wszystkie wymagane pakiety z Internetu.
Możesz zostać poproszony o przyjęcie klucza GPG repozytorium EPEL. Naciskać Y a następnie naciśnij zaakceptować to.
DNF powinien zacząć instalować wszystkie pobrane pakiety.
W tym momencie należy zainstalować Ansible.
Teraz uruchom następujące polecenie:
$ ansible --version
Jak widać, biegam Ansible 2.9.3 i działa dobrze.
Konfigurowanie serwerów dla Ansible:
Do zarządzania lub administrowania serwerami z ANSable, musisz mieć zainstalowany i uruchomiony serwer SSH na serwerach. Port SSH serwerów musi być otwarty, a serwery powinny być dostępne z hosta Ansible. To jedyny wymóg korzystania z Ansible.
W tym artykule użyję 4 maszyn wirtualnych (maszyny wirtualne) (2 Ubuntu Server 18.04 VMS LTS i 2 VMS Debian 10) do wykazania podstaw zarządzania i administracji serwera Ansible.
4 maszyny wirtualne to:
Linuxhint -F1A46 - 192.168.20.161
Linuxhint -8EE7A - 192.168.20.166
Linuxhint -S40 - 192.168.20.171
Linuxhint-S41- 192.168.20.170
Możesz użyć adresów IP serwerów do zarządzania lub administrowania ich za pomocą Ansible. Możesz także użyć nazw DNS serwerów.
W tym artykule użyję /etc/hosts Plik do rozdzielczości DNS adresów IP VMS.
Jeśli chcesz śledzić, otwórz /etc/hosts Plik z edytorem tekstu VI w następujący sposób:
$ sudo vi /etc /hosts
Teraz dodaj linie oznaczone na zrzucie ekranu poniżej i zapisz plik.
Teraz wygeneruj klucz SSH na swoim hosta Centos 8 Ansible w następujący sposób:
$ ssh-keygen
Naciskać .
Naciskać .
Naciskać .
Należy wygenerować klucz SSH.
Teraz musisz przesłać klawisz SSH na wszystkie serwery, którym chcesz zarządzać z Ansible.
Aby skopiować klucz SSH do VM1.Linuxhint.lokalny serwer, uruchom następujące polecenie:
$ ssh-copy-id [email protected]
Teraz wpisz Tak a następnie naciśnij .
Teraz wpisz hasło logowania VM1.Linuxhint.lokalny VM i naciśnij .
Klucz SSH powinien zostać skopiowany.
Zrób to samo dla VM2.Linuxhint.lokalny, VM3.Linuxhint.lokalny I VM4.Linuxhint.lokalny serwer.
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
Po skopiowaniu klawisza SSH do maszyn wirtualnych powinieneś być w stanie SSH bez żadnego hasła, jak widać na zrzucie ekranu poniżej.
Teraz uruchom następujące polecenie na każdym serwerze, aby umożliwić dostęp do sudo bez hasła dla użytkownika logowania. Jest to wymagane, aby Ansible uruchomić dowolne polecenia root.
$ echo „$ (whoami) all = (all) nopasswd: all” | sudo tee /itp. /sudoers.D/$ (whoami)
Wszystkie serwery są teraz gotowe do skonfigurowania lub zarządzania z Ansible.
Korzystanie z Ansible:
Ansible przechowuje listę wszystkich hostów, które zarządza w pliku o nazwie Plik zapasowy. Plik zapasowy Ansible to tylko prosty zwykły plik tekstowy.
Utwórzmy nowy katalog projektu Ansible ~/ansible/ Najpierw utworzymy nasz plik zapasowy.
$ mkdir ~/ansible
Teraz przejdź do ~/ansible informator.
$ cd ~/ansible
Teraz utwórz plik zapasowy Ansible w następujący sposób. Możesz nazwać ten plik wszystko. Nazwę to zastępy niebieskie.
Gospodarze $ vi
Teraz możesz dodać swoje serwery w następujący sposób. Tutaj, ansible_user Opcja służy do zdefiniowania użytkownika, którego Ansible użyje do uruchamiania poleceń na tych serwerach. Zwykle jest to użytkownik logowania serwera.
Możesz także mieszać adresy IP i nazwy DNS serwerów również w pliku inwentaryzacji.
Możesz także grupować serwery. Tutaj mam 2 grupy, serwer internetowy I Dbserver.
w serwer internetowy grupa, dodałem VM1 I VM2 serwery. w Dbserver grupa, dodałem VM3 I VM4 serwery.
Po utworzeniu pliku ekwipunku można użyć pliku inwentarza za pomocą -I opcja Ansible.
Możesz wymienić wszystkie hosty z pliku ekwipunku w następujący sposób:
$ ansible -i hosts - -list -hosts wszystko
Możesz sprawdzić, czy wszystkie hosty są aktywne w następujący sposób:
$ ansible -i hosts - -list -hosts -m ping wszystkie
Jak widać, wszyscy hosty są aktywni.
Możesz także pingować wszystkich gospodarzy w jednej grupie.
$ ansible -i hosts - -list -hosts -m ping Webserver
Możesz uruchomić polecenia powłoki za pomocą ansible w następujący sposób:
$ ansible -i hosts -m shell -a „polecenie”
Możesz także uruchomić polecenia powłoki (z uprawnieniami sudo) w następujący sposób.
$ ansible -i hosts -b - -become -method = sudo -m shell -a „polecenie”| nazwa grupy>
Na przykład możesz zaktualizować pamięć podręczną repozytorium pakietów Apt na hostach w grupie WebServer za pomocą Ansible w następujący sposób:
$ ansible -i hosts -b - -become -method = sudo -m shell -a „apt aktualizacja” Webserver
Jak widać, pamięć podręczna repozytorium pakietów Apt jest aktualizowana dla wszystkich hostów w serwer internetowy Grupa.
Spróbujmy zainstalować serwer WWW Apache 2 na wszystkich hostach serwer internetowy Grupa.
$ ansible -i hosts -b - -become -metod = sudo -m shell -a
Webserver Web
Apache Webserver powinien być zainstalowany we wszystkich hostach serwer internetowy Grupa.
Jak widać, Apache Web Server pracuje nad wszystkimi hostami serwer internetowy Grupa.
$ ansible -i hosts -b - -become -method = sudo -m shell -a 'curl -si
http: // localHost 'Webserver
W ten sam sposób możesz uruchomić dowolne polecenie na wszystkich hostach Dbserver Grupa.
$ ansible -i hosts -m shell -a 'lsb_release -a' dbserver
Możesz także użyć ANSible Playbook do łatwiejszego zarządzania serwerami. Ansible Playbook nie ma zakresu tego artykułu. Przeczytaj dokumentację Ansible, aby uzyskać więcej informacji na temat Ansible Playbook.
Dziękuję za przeczytanie tego artykułu.