Ansible - wprowadzenie
Ansible to prosty silnik informatyczny typu open source, który automatyzuje wdrażanie aplikacji, orkiestrację wewnątrz usług, udostępnianie w chmurze i wiele innych narzędzi informatycznych.
Ansible jest łatwy do wdrożenia, ponieważ nie wykorzystuje żadnych agentów ani niestandardowej infrastruktury zabezpieczeń.
Ansible używa podręcznika do opisywania zadań automatyzacji, a podręcznik używa bardzo prostego języka, tj YAML(Jest to czytelny dla człowieka język serializacji danych i jest powszechnie używany w plikach konfiguracyjnych, ale może być używany w wielu aplikacjach, w których dane są przechowywane), który jest bardzo łatwy do zrozumienia, odczytu i zapisu dla ludzi. Stąd zaletą jest to, że nawet osoby obsługujące infrastrukturę IT mogą czytać i rozumieć podręcznik i debugować w razie potrzeby (YAML - jest w formie czytelnej dla człowieka).
Ansible jest przeznaczony do wdrażania wielowarstwowego. Ansible nie zarządza jednocześnie jednym systemem, modeluje infrastrukturę IT, opisując, że wszystkie systemy są ze sobą powiązane. Ansible jest całkowicie bez agentów, co oznacza, że Ansible działa, łącząc węzły przez ssh (domyślnie). Ale jeśli potrzebujesz innej metody połączenia, takiej jak Kerberos, Ansible daje Ci tę opcję.
Po połączeniu się z Twoimi węzłami Ansible wypycha małe programy zwane „modułami Ansible”. Ansible uruchamia te moduły na twoich węzłach i usuwa je po zakończeniu. Ansible zarządza Twoimi zasobami w prostych plikach tekstowych (są to pliki hosts). Ansible używa pliku hosts, w którym można pogrupować hosty i kontrolować działania dotyczące określonej grupy w playbookach.
Przykładowy plik hostów
To jest zawartość pliku hosts -
#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.
[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh
[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh
Co to jest zarządzanie konfiguracją
Zarządzanie konfiguracją w zakresie Ansible oznacza, że utrzymuje konfigurację wydajności produktu, prowadząc rejestr i aktualizując szczegółowe informacje opisujące sprzęt i oprogramowanie przedsiębiorstwa.
Takie informacje zazwyczaj obejmują dokładne wersje i aktualizacje, które zostały zastosowane do zainstalowanych pakietów oprogramowania oraz lokalizacje i adresy sieciowe urządzeń sprzętowych. Na przykład jeśli chcesz zainstalować nową wersjęWebLogic/WebSphere serwer na wszystkich komputerach w przedsiębiorstwie, nie jest możliwe ręczne przejście i zaktualizowanie każdego komputera.
Oprogramowanie WebLogic / WebSphere można zainstalować za jednym razem na wszystkich swoich komputerach, korzystając z elementów playbook i zasobów Ansible napisanych w najprostszy sposób. Wszystko, co musisz zrobić, to wymienić adresy IP węzłów w spisie i napisać podręcznik dotyczący instalacji produktu WebLogic / WebSphere. Uruchom Playbook z komputera sterującego i zostanie on zainstalowany na wszystkich twoich węzłach.
Jak działa Ansible?
Poniższe zdjęcie przedstawia działanie Ansible.
Ansible works łącząc się z węzłami i wysyłając małe programy o nazwie „Ansible moduły ”do nich. Ansiblenastępnie wykonuje te moduły (domyślnie przez SSH) i usuwa je po zakończeniu. Twoja biblioteka modułów może znajdować się na dowolnej maszynie i nie są wymagane żadne serwery, demony ani bazy danych.
Węzeł zarządzania na powyższym obrazku to węzeł sterujący (węzeł zarządzający), który kontroluje całe wykonanie elementu playbook. Jest to węzeł, z którego uruchamiasz instalację. Plik inwentarzowy zawiera listę hostów, na których należy uruchomić moduły Ansible, a węzeł zarządzający nawiązuje połączenie SSH i wykonuje małe moduły na komputerze hosta i instaluje produkt / oprogramowanie.
Beauty Ansible polega na tym, że usuwa moduły po ich zainstalowaniu na tyle efektywnie, że łączy się z maszyną hosta, wykonuje instrukcje i po pomyślnej instalacji usuwa kod, który został skopiowany na maszynie hosta, który został wykonany.