Ansible dla początkujących – podstawy i sposób działania Ansible

Słyszałeś o Ansible, ale nie wiesz, co to jest? Nie martw się, dowiesz się o Ansible w ciągu najbliższych 5 minut.

Co to jest Ansible?

Ansible to narzędzie DevOps typu open source, które może pomóc firmie w zarządzaniu konfiguracją, wdrażaniu, udostępnianiu itp. Wdrożenie jest proste; wykorzystuje SSH do komunikacji między serwerami. Używa playbook do opisywania zadań automatyzacji, a playbook używa bardzo prostego języka YAML.

Ansible zapewnia niezawodność, spójność i skalowalność infrastruktury IT. Za pomocą Ansible możesz zautomatyzować konfiguracje baz danych, pamięci masowej, sieci, zapór. Zapewnia, że ​​wszystkie niezbędne pakiety i całe inne oprogramowanie są spójne na serwerze, aby uruchomić aplikację.

Weźmy przykład; masz wersję aplikacji do debugowania, która jest zbudowana na Visual C++. Teraz, jeśli chcesz uruchomić tę aplikację na komputerze, musisz spełnić pewne wymagania wstępne, takie jak biblioteki DLL Microsoft Visual C ++, i potrzebujesz wizualnego C ++ zainstalowanego na swoim komputerze. Jest to więc część, w której Ansible upewni się, że wszystkie te podstawowe pakiety i całe oprogramowanie są zainstalowane na Twoim komputerze, aby Twoja aplikacja mogła płynnie działać we wszystkich środowiskach, zarówno testowych, jak i produkcyjnych.

Zawiera również wszystkie dane historyczne Twojej aplikacji, więc jeśli w dowolnym momencie zechcesz przywrócić poprzednią wersję lub chcesz ją zaktualizować, możesz to łatwo zrobić.

Przyjrzyjmy się niektórym z poniższych funkcji.

Bez agenta – co oznacza, że ​​nie ma żadnego oprogramowania ani agenta zarządzającego węzłem, jak inne rozwiązania, takie jak marionetka i kucharz.

Python — zbudowany na bazie pythona, który jest szybki i jeden z niezawodnych języków programowania w dzisiejszym świecie.

SSH – bardzo prosty protokół uwierzytelniania sieciowego bez hasła, który jest bezpieczny. Więc Twoim obowiązkiem jest skopiowanie tego klucza do klienta

Architektura push — prześlij im niezbędne konfiguracje, klientom. Wszystko, co musisz zrobić, to zapisać te konfiguracje (podręcznik) i przekazać je wszystkie naraz do węzłów. Widzisz, jak potężne może być wprowadzanie zmian na tysiące serwerów w ciągu kilku minut.

Konfiguracja – minimalne wymagania i konfiguracja potrzebne do działania.

Architektura Ansible

Zacznijmy od Public/Private Cloud, czyli serwera Linux. Może również działać jako repozytorium wszystkich instalacji i konfiguracji IT.

Powyższa architektura ma kilka maszyn hostów, z którymi łączy się serwer ansible i przekazuje playbooki przez SSH.

Posiada silnik automatyzacji ansible, za pomocą którego użytkownicy mogą bezpośrednio uruchomić playbook, który jest wdrażany na hostach. Silnik automatyzacji ansibli składa się z wielu komponentów. Pierwszym z nich jest inwentarz hosta. Jest to lista wszystkich adresów IP wszystkich hostów.

Dalej są moduły. Ansible zawiera setki wbudowanych modułów, a moduły to te fragmenty kodu, które są wykonywane po uruchomieniu podręcznika. Playbook zawiera sztuki, sztuka zawiera różne zadania, a zadanie zawiera moduły.

Kiedy uruchamiasz playbook, to moduły są wykonywane na twoich hostach, a te moduły zawierają w sobie akcję. Tak więc, gdy uruchamiasz podręcznik, te działania mają miejsce na komputerach hosta. Możesz także tworzyć własne moduły. Wszystko, co musisz zrobić, to napisać kilka linijek kodu i uczynić go swoim modułem, który możesz uruchomić w dowolnym momencie.

Wtedy architektura ma podręczniki. Playbooki tutaj faktycznie definiują twój przepływ pracy, ponieważ niezależnie od zadań, które piszesz w playbooku, są one wykonywane w tej samej kolejności, w jakiej je napisałeś. Na przykład, jeśli napisałeś, że najpierw zainstaluj pakiet, a potem uruchom, zrobi to samo. Playbooki są bardzo proste do napisania kodu YAML. Kod YAML jest bardzo prostym językiem serializacji danych; to prawie jak angielski.

Następnie w architekturze znajdują się wtyczki. Wtyczki tutaj to specjalny rodzaj modułów. Te wtyczki są wykonywane przed wykonaniem modułu na węzłach. Wtyczki są uruchamiane na głównej maszynie sterującej do celów logowania. Masz wtyczki oddzwaniania, ponieważ umożliwiają one podpięcie się pod różne zdarzenia ansible w celu wyświetlania i rejestrowania. Wtyczki pamięci podręcznej służą do przechowywania pamięci podręcznej faktów, aby uniknąć kosztownych operacji gromadzenia faktów. Ansible ma również wtyczki akcji, które są modułami frontonu i mogą wykonywać zadania na komputerze kontrolera przed wywołaniem samych modułów.

Architektura ma wtyczki do połączeń. Nie zawsze jest konieczne używanie SSH do łączenia się z maszynami hosta; możesz również użyć wtyczki przyłączeniowej. Na przykład ansible udostępnia wtyczkę połączenia kontenera Docker i za pomocą tej wtyczki połączenia możesz łatwo połączyć się ze wszystkimi kontenerami Docker i od razu rozpocząć konfigurację.

Chodziło o architekturę. Następnie powiem ci, jak dokładnie to działa.

Jak działa Ansible?

Ansible działa, łącząc się z węzłami i wypychając małe programy zwane modułami ansible. Ansible następnie domyślnie wykonuje te moduły przez SSH, a następnie usuwa je po zakończeniu.

Węzeł zarządzania ansible jest węzłem kontrolnym, który kontroluje całe wykonanie Playbook. Jest to węzeł, z którego uruchamiasz instalację, a plik inwentaryzacji zawiera listę hostów, na których moduły mają zostać uruchomione. Węzeł zarządzania nawiązuje połączenie ssh, a następnie wykonuje moduły na komputerach hosta i instaluje produkt. Usuwa moduły po ich zainstalowaniu. Więc tak działa ansibl.

Następnie możesz chcieć dowiedzieć się, jak zainstalować i skonfigurować Ansible.

Wniosek

Mam nadzieję, że teraz masz pomysł na Ansible, aby zacząć. Ansible zmienia sposób zarządzania infrastrukturą, a jeśli jesteś administratorem lub programistą, możesz to sprawdzić trening praktyczny rozwijać umiejętności.