Jak zainstalować i skonfigurować ansible na Ubuntu 20.04

Jak zainstalować i skonfigurować ansible na Ubuntu 20.04

Ansible to narzędzie automatyzacji do zarządzania wieloma zdalnymi hostami z pojedynczego komputera. Zapewnia łatwe do skonfigurowania dla dużej liczby zdalnych hostów. Na przykład wykonujesz te same zadania nad wieloma maszynami, Ansible zapewnia opcję automatyzacji tych zadań.

Ansible to lepsze alternatywy innych popularnych narzędzi do automatyzacji infrastruktury, takie jak Chef i Puppet. Nie musisz instalować żadnego oprogramowania klienckiego w węzłach, aby zarządzać za pośrednictwem serwera Ansible. Używa połączenia SSH do wykonywania zadań w węzłach.

Ten samouczek pomoże Ci zainstalować i skonfigurować Ansible na Ubuntu 20.04 LTS Linux Systems.

Wymagania wstępne

Mamy jeden węzeł sterujący do skonfigurowania serwera Ansible i trzech serwerów węzłów do zarządzania. Tutaj węzeł sterujący działa z Ubuntu 20.04 System Linux. Pierwszy i trzeci węzeł działa z Ubuntu 18.04 Serwer i drugi węzeł działa z serwerem Centos 7.

Oto lista węzłów z adresem IP i nazw hostów:

  • Węzeł sterujący - 10.0.1.10 (węzeł sterujący)
  • Pierwszy węzeł - 10.0.1.101 (Web-Host1)
  • Drugi węzeł - 10.0.1.102 (Web-Host2)
  • Trzeci węzeł - 10.0.1.103 (db-host1)
  • Krok 1 - Ustaw klucze SSH

    Możesz skonfigurować SSH oparty na klawiszach dla zdalnych hostów Linux Ansible. Więc hasło nie będzie wymagane dla SSH. Ansible pozwala również użyć hasła do SSH, ale SSH oparty na kluczu jest bezpieczniejszy.

    Zaloguj się do węzła kontrolnego (10.0.1.10) i wygeneruj parę kluczy SSH:

    SSH -KEYGEN -T RSA  

    Wystarczy nacisnąć „Wprowadź” na wszystkie dane wejściowe zapytane przez polecenie.

    Skopiuj klucz publiczny do wszystkich zdalnych węzłów, które musisz podłączyć za pomocą protokołów SSH.

    ssh-copy-id -i ~/.ssh/id_rsa.pub [e -mail chroniony]  ssh-copy-id -i ~/.ssh/id_rsa.pub [e -mail chroniony]  ssh-copy-id -i ~/.ssh/id_rsa.pub [e -mail chroniony]  

    Krok 2 - Instalowanie Ansible na Ubuntu

    Możesz zainstalować serwer ansible z oficjalnych repozytoriów pakietów w systemie Ubuntu. Który ma najnowsze pakiety Debiana. Wykonaj następujące polecenie, aby skonfigurować Ansible PPA w systemie Ubuntu.

    sudo apt-add-repozytory PPA: ansible/ansible  

    Narzędzie oprogramowania aktualizowania zaktualizuje pamięć podręczną pakietów w twoim systemie. Musisz więc uruchomić następujące polecenie, aby zainstalować lub zaktualizować ansible w systemie Ubuntu

    Aktualizacja sudo apt  sudo apt instal instaluble  

    Wprowadź „y” dla wszystkich potwierdzenia instalacji w celu ukończenia procesu instalacji. Następnie musisz skonfigurować serwer Ansible

    Krok 3 - Skonfiguruj plik zapasów

    Twój serwer jest gotowy z Ansible do zdalnego zarządzania hostem i automatyzacją. Możesz mieć wiele hostów, których potrzebujesz i zarządzać nimi z pojedynczym serwerem Ansible.

    Tutaj musisz zdefiniować swoje zdalne systemy w pliku hostów Ansible (/etc/ansible/hosts). Możesz także tworzyć grupy hostów o podobnych typach. Tutaj musisz odpowiednio zorganizować gospodarzy w grupy. Grupy są używane do wykonywania jednego zadania na wszystkich zdalnych hostach zdefiniowanych pod nim.

    Edytuj plik konfiguracyjny hostów ansible. Dla Exmaple:

    sudo nano/etc/ansible/hosts  

    Dodaj gospodarzy i zorganizuj je z grupami. Host można dodać w wielu grupach.

    [WebServers] Web-Host1 Web-Host2 [Dbservers] DB-Host1 

    Poniższy obraz pomoże ci zrozumieć grupę i hosty w ramach grupy.

    Konfiguracja pojedynczego hosta VARS

    Musisz zdefiniować ustawienia dla swoich hostów. Plik specyficzny dla hosta musi mieć tę samą nazwę co host (np.: Web-Host1) w katalogu hosta_vars.

    sudo mkdir/etc/ansible/host_vars/  sudo vi/etc/ansible/host_vars/web-host1  

    Dodaj ustawienia SSH do tego pliku dla sieci Web-Host1.

    ansible_ssh_host: 10.0.1.101 ansible_ssh_port: 22 ansible_ssh_user: root 

    Na wypadek, gdybyś nie używał kroku 1 dla połączenia SSH dla tego hosta. Możesz także dodać jedną z poniższych metod do pliku konfiguracyjnego Web-Hosts1 do uwierzytelnienia.

    ansible_ssh_pass: secret_password ansible_ssh_private_key_file:/home/rahul/.SSH/AWS.pem 

    Grupa konfiguracja vars

    Możesz skonfigurować wspólne ustawienia zmiennych grupy w ramach konfiguracji grupy. Nazwa pliku grupy musi być taka sama jak nazwa grupy (np.: WebServers) grupa_vars informator.

    sudo mkdir/etc/ansible/grupa_vars  sudo vi/etc/ansible/grupa_vars/WebServers  

    Dodaj wspólne zmienne do tego pliku używanego przez wszystkie hosty dodane w tej grupie.

    ansible_ssh_port: 22 ansible_ssh_user: root 

    Krok 4 - Testowanie połączenia Ansible

    Twój Ansible jest gotowy do użycia. Aby przetestować wszystkie węzły, użyj modułu ping. Zaloguj się do serwera Ansible i wykonaj następujące polecenie:

    ansible -m ping wszystko  

    Możesz także testować łączność dla określonego hosta lub grup.

    Ansible -m ping Web -Host1  ## specyficzny host  ansible -m ping Webservers  ## konkretna grupa  

    Możesz także uruchomić dowolne polecenie Linux za pomocą modułu powłoki ansible. Na przykład wykonaj poniższe polecenie, aby przetestować bezpłatną pamięć w Web-Host1.

    ansible -m shell -a „free -m” Web -Host1  

    Możesz także wykonać to samo zadanie dla grupy. Po prostu użyj nazwy grupy zamiast nazwy hosta.

    Wniosek

    W tym samouczku nauczyłeś się instalować serwer Ansible na Ubuntu 20.04 System. Skonfigurowane również zdalne hosty do zarządzania z Serwerem Ansible.