Topologia sieci:
Tutaj Linuxhint-711EA jest Ubuntu 20.04 LTS komputer, w którym zainstaluję Ansible.
Następnie skonfiguruję hosty host1 (Adres IP 192.168.20.162) i host2 (Adres IP 192.168.20.153) dla automatyzacji ansible i uruchom na nich poleceń za pomocą ansible z Linuxhint-711EA maszyna.
Po prostu zadzwonię host1 I host2 Jako hosts ansible w tym artykule.
Instalowanie Ansible:
Możesz łatwo zainstalować ansible na Ubuntu 20.04 LTS z oficjalnego repozytorium pakietów Ubuntu.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Pamięć podręczna repozytorium pakietów Apt powinna zostać zaktualizowana.
Teraz zainstaluj ansible z następującym poleceniem:
$ sudo apt instal instalue ansible
Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .
Ansible powinien być zainstalowany.
Teraz uruchom następujące polecenie, aby sprawdzić, czy Ansible działa poprawnie.
$ ansible --version
Jak widać, polecenie Ansible jest dostępne i działa poprawnie.
Generowanie klucza SSH:
Teraz musisz wygenerować klucz SSH na komputerze, w którym zainstalowałeś Ansible.
Aby wygenerować klucz SSH, uruchom następujące polecenie:
$ ssh-keygen
Teraz naciśnij .
Naciskać .
Naciskać .
Należy wygenerować klucz SSH.
Konfigurowanie hostów Ubuntu do automatyzacji Ansible:
W tej sekcji pokażę, jak skonfigurować host Ubuntu (host1) dla automatyzacji Ansible. Jeśli masz więcej niż jeden host, który chcesz zautomatyzować za pomocą ANSable, powtórz ten sam proces na każdym z hostów.
Hosty Ubuntu Ansible (które chcesz skonfigurować dla ANSIBLE Automation) muszą mieć zainstalowany pakiet serwera SSH.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Następnie zainstaluj serwer OpenSSH z następującym poleceniem:
$ sudo apt install openSsh -server -y
W moim przypadku pakiet serwera OpenSsh jest już zainstalowany. Jeśli nie jest zainstalowany w twoim przypadku, należy go zainstalować.
Teraz sprawdź, czy Sshd Usługa działa z następującym poleceniem:
$ sudo Systemctl Status Sshd
Jak widać, Sshd Usługa jest aktywny (bieganie) i włączony (automatycznie uruchomi się od rozruchu systemowego).
Jeśli Sshd Usługa nie jest aktywny (Uruchamianie) W twoim przypadku rozpocznij ręcznie od następującego polecenia:
$ sudo systemctl start sshd
Jeśli Sshd Usługa nie jest włączony (Nie dodano do uruchamiania systemowego) W swoim przypadku dodaj go do uruchomienia systemowego ręcznie za pomocą następującego polecenia:
$ sudo systemctl włącz SSHD
Teraz skonfiguruj zaporę, aby umożliwić SSH dostęp z następującym poleceniem:
$ sudo ufw pozwól ssh
Powinieneś także stworzyć Ansible Użytkownik i pozwól sudo bez hasła do dostępu do Ansible użytkownik.
Aby utworzyć Ansible Użytkownik, uruchom następujące polecenie:
$ sudo adduser ansible
Teraz wpisz hasło dla Ansible Użytkownik i naciśnij .
Teraz ponownie przestaw hasło i naciśnij .
Teraz naciśnij .
Teraz naciśnij .
Teraz naciśnij .
Teraz naciśnij .
Teraz naciśnij .
Teraz wpisz y a następnie naciśnij .
Jakiś Ansible Użytkownik powinien zostać utworzony.
Teraz skonfiguruj dostęp bez hasła do dostępu do Ansible Użytkownik z następującym poleceniem:
$ echo „ansible all = (all) nopasswd: all” | sudo tee /itp. /sudoers.d/ansible
Teraz znajdź adres IP hosta Ansible (host1) Z następującym poleceniem:
$ hostName -i
Tutaj adres IP w moim przypadku to 192.168.20.162. Będzie dla Ciebie inaczej. Pamiętaj, aby teraz zastąpić go swoim formularzem.
Teraz z komputera, na którym zainstalowałeś Ansible, skopiuj klucz publiczny SSH do hosta Ansible (host1) Jak następuje:
$ ssh-copy-id [email protected]
Wpisz Tak i naciśnij .
Teraz wpisz hasło dla Ansible Użytkownik i naciśnij .
Publiczny klucz SSH powinien zostać skopiowany do host1.
Teraz wyłącz login oparty na hasłach dla Ansible Użytkownik z następującym poleceniem:
$ sudo usermod -l ansible
Teraz możesz tylko SSH do hosta Ansible (host1) Jak Ansible Użytkownik bez hasła z komputera, z którego skopiowałeś klucz publiczny SSH (w tym przypadku komputer, w którym zainstalowałeś Ansible). Ale nie będziesz w stanie SSH do hosta Ansible (host1) Jak Ansible Użytkownik z dowolnego innego komputera. Skonfigurowałem hosty ansible w ten sposób ze względów bezpieczeństwa. Jak Ansible Użytkownik nie potrzebuje hasła do uruchamiania poleceń administracyjnych, jest ryzykowne, aby umożliwić logowanie oparte na hasłach Ansible użytkownik.
Teraz powinieneś być w stanie SSH do hosta Ansible host1 z komputera, w którym zainstalowałeś Ansible w następujący sposób:
$ ssh [email protected]
Jak widać, jestem w stanie uzyskać dostęp do hosta Ansible (host1) Jako użytkownik Ansible bez hasła. Tak więc host Ansible (host1) jest gotowy do automatyzacji ansible.
Jeśli z jakiegoś powodu chcesz umożliwić login oparty na hasłach Ansible Użytkownik ponownie, uruchom następujące polecenie w hoście Ansible (host1):
$ sudo usermod -u ansible
Możesz skonfigurować tyle hostów, ile chcesz, aby uzyskać automatyzację ansible w ten sam sposób.
W tym artykule skonfigurowałem tylko 2 hosty, host1 I host2 do demonstracji.
Testowanie Ansible:
Teraz utwórz nowy katalog projektu ~/Ansible-Demo/ na komputerze, w którym zainstalowałeś Ansible w następujący sposób:
$ mkdir ~/ansible-demo
Teraz przejdź do ~/Ansible-Demo/ katalog w następujący sposób:
$ cd ~/ansible-demo/
Teraz stwórz nowe zastępy niebieskie Plik w katalogu projektu w następujący sposób:
$ nano gospodarze
Teraz wpisz adresy IP lub nazwy DNS hostów Ansible (host1 I host2 w moim przypadku) w zastępy niebieskie Plik w następujący sposób:
192.168.20.162
192.168.20.153
Teraz zapisz plik, naciskając + X śledzony przez Y i wtedy .
Teraz spróbuj pingować wszystkich hostów za pomocą ansible w następujący sposób:
$ ansible all -i ./hosts -u ansible -m ping
NOTATKA: Tutaj opcja -u służy do określenia nazwy użytkownika (w tym przypadku ansible).
Jak widać, wszyscy gospodarze można pingować. Tak więc gospodarze są gotowi do automatyzacji Ansible.
W ten sam sposób możesz uruchomić dowolne polecenie w hostach za pomocą ansible w następujący sposób:
$ ansible all -i ./hosts -u ansible -m shell -a 'echo "$ (hostName) -$ (hostName -i)"'
Jak widać, polecenie działało pomyślnie w każdym z hostów, a wyjście jest wyświetlane.
W ten sposób instalujesz Ansible na Ubuntu 20.04 LTS i skonfiguruj Ubuntu 20.04 LTS Hosts do automatyzacji Ansible. Dziękujemy za przeczytanie tego artykułu.