Mentionsy Mentionsy
Everything as code
Everything as code

Odcinek 13 - Jak zbudowac własny moduł w Ansible ?

05.11.2024 ·10 min 43 s · 5 rozdziałów

Masz już podstawową wiedzę na temat Ansible i chciałbyś dowiedzieć się czegoś więcej ? Interesuje Cię budowanie własnych modułów dla Ansible ? Jeśli tak, zachęcam Cię do odsłuchania kolejnego odcinka oraz do zapoznania się z materiałami, które przygotowałem na https://github.com/sebastianczech/podcast-everything-as-a-code/tree/main/episode-013.

2:00 · Powtarzanie tematu Ansible 1

Mamy na przykład jeśli wiele tasków, które wykorzystuje np. komendy shellowe w systemie operacyjnym Linux, możemy zamiast wykonywać szereg różnych tasków, opakować to w moduł i dzięki temu uprościć czytelność naszego kodu, naszego playbooka ansible'owego. Ok, wiemy czemu taki moduł moglibyśmy chcieć stworzyć, więc przejdźmy do tego, Co musimy w ogóle wiedzieć, by taki moduł móc zaimplementować? Przede wszystkim konieczna jest podstawowa wiedza Ansible na temat tego, w jaki sposób budujemy playbooki, taski, moduły itd.

5:40 · Podstawy implementacji modułu 1

Warto budując ten moduł zastanowić się nad strukturą właśnie danych wyjściowych i wyjściowych. To jest bardzo istotne, by określić jakiego typu danych wyjściowych potrzebujemy, które z parametrów są obowiązkowe, które opcjonalne. Może niektóre mają jakieś domiczne wartości. Jeśli tak, możemy je określić na etapie implementacji naszego modułu. Bardzo istotnym elementem Implementowania modułów Ansible'owych, ale nie tylko, ogólnie programowania, jest testowanie tego, co budujemy. Tutaj implementujemy moduł w języku Python i jak pewnie wiecie, dla tego języka jest szereg różnych

7:40 · Implementacja modułu - klasa AnsibleModule 1

Oczywiście, mając już gotowy moduł, Konieczne jest sprawdzenie go z poziomu playbooku ansible'owego, czyli napisanie taska, który ten moduł wywołuje, przekazuje odpowiednie parametry i te parametry wyjściowe również obsługuje. Jak widzicie, pisanie własnych modułów ansible'owych nie wydaje się mocno skomplikowanym zagadnieniem. Natomiast ta umiejętność z pewnością pozwoli Ci wejść, jakby to powiedzieć, na jeszcze wyższy poziom znajomości Ansible'a. Ponieważ implementując moduły, na pewno zdobędziesz o wiele więcej wiedzy, jak sam Ansible działa. Poza tym, budując własne moduły, możemy te moduły udostępniać publicznie jako open source, jeśli to oczywiście jest możliwe.

Pokazano wszystkie 3 dopasowania. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.