Wpis z mikrobloga

Siemano
mam pytanie odnośnie ansible. W jaki sposób tym narzędziem zarządzacie? Aktualnie mamy postawione wszystkie playbooki na osobnym serwerze (są tam powgrywane klucze) na który łączymy się po ssh i z niego odpalamy ansible-playbook. Zastanawiam się, czy nie pościągać sobie całego ansible lokalnie wraz z kluczami. Następnym etapem byłoby wgranie tego gdzieś zdalnie, bo nie mamy aktualnie skonfigurowanego żadnego systemu kontroli wersji...

#ansible #devops
  • 15
@open-alpha: to akurat jest wbudowane w jenkins, wtyczki SCM (git, czy tam jakiś svn) instalują się przy pierwszym uruchomieniu Jenkinsa domyślnie. Każdy job, czy to wyklikany, czy w formie skryptów, ma w sobie sekcję "SCM" (source code management), gdzie możesz kazać pobrać do workspace (takie specjalnego "Folderu" na aktualnie odpalanego joba) dowolny kod, choćby z kilku źródeł. To bardzo naturalny krok.

Jest też gotowy plugin dla Ansible. Czyli w SCM pobierasz
@annotate Jak wygląda konfiguracja połączenia z hostami w przypadku uruchamiania playbooka z jenkinsa? Na serwerze jenkins hosty podpięte kluczami? Gdzie potem wskazanie na np konkretnego hosta? W zadaniu?
Jak to ogarnąć gdy chce się w zadaniu w jenkins parametryzowac gdzie odpalać playbooka?
@habazie
@open-alpha

W obrazie Linuksa (przy tworzeniu maszyny) dodajemy swoje klucze do konta z wysokimi uprawnieniami. Ten klucz mamy dodany w Jenkins i używamy do ciężkich playbookow (instalacja softu, rzeczy co potrzebują roota).

Mniejsze rzeczy jak nowa wersja aplikacji itp robimy na kontach tych aplikacji, mamy inne klucze które dodajemy do tych kont aplikacji, więc jak leci deployment to robi wszystko na tym samym koncie co aplikacja i nie ma nic więcej
@habazie dwie rzeczy przy których najwięcej się poświęca i marnuje czasu w ansible to jak ułożyć inventory i jak parsowac skomplikowane zagnieżdżone obiekty (które są niepotrzebnie skomplikowane i pewnie można się ich pozbyć) :p
@annotate: jakie są jeszcze korzyści z korzystania z jenkinsa + ansible oprócz tego, że z automatów mogą korzystać mniej obeznane z administrowaniem osoby? Pytam poważnie, bo nigdy nie korzystałem z takiego rozwiązania, a może warto byłoby się z tym zapoznać.
@toporow17 masz kontrolowane środowisko, każdy user odpala prawidłowy kod w takim samym środowisku, wersjach, możesz dowolnie sterować tym co mogą zmienić przy odpaleniu a co nie, np zależnie od uprawnień czy doświadczenia. Możesz ukryć przed adminami uprawnienia jakich nie powinni posiadać.l itd itd...

Np takie klucze co dają roota... Głupio rozdawać każdemu. Może lepiej dać ludziom zwykłego usera na Jenkins i zestaw jobow. Jony widzą credential w jenkins i mogą użyć silnych