{"id":80491,"date":"2020-05-06T13:42:24","date_gmt":"2020-05-06T11:42:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1"},"modified":"2020-05-06T13:42:24","modified_gmt":"2020-05-06T11:42:24","slug":"obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","title":{"rendered":"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Krajowa S\u0142u\u017cba Informacyjna Danych Satelitarnych o \u015arodowisku (NESDIS) zmniejszy\u0142a swoje wydatki na zarz\u0105dzanie konfiguracj\u0105 systemu Red Hat Enterprise Linux (RHEL) o 35% przechodz\u0105c z Puppet Enterprise na Ansible Tower. W tym filmie z kategorii \u201ejak to zrobili\u015bmy\u201d in\u017cynier systemowy Michael Rau uzasadnia t\u0119 migracj\u0119, dzieli si\u0119 cennymi wskaz\u00f3wkami oraz do\u015bwiadczeniem zdobytym podczas przej\u015bcia z jednego SCM na drugie. <\/p>\n<p>Z tego filmu dowiesz si\u0119:<\/p>\n<ul>\n<li>jak uzasadni\u0107 kierownictwu zasadno\u015b\u0107 przej\u015bcia z Puppet Enterprise na Ansible Tower;<\/li>\n<li>jakie strategie zastosowa\u0107, aby zapewni\u0107 jak najbardziej p\u0142ynne przej\u015bcie;<\/li>\n<li>wskaz\u00f3wki dotycz\u0105ce transkodyfikacji manifest\u00f3w PE do Ansible Playbook;<\/li>\n<li>zalecenia dotycz\u0105ce optymalnej instalacji Ansible Tower.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/6c4ee5db9a9f584cd69109549827b5b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Witam wszystkich, nazywam si\u0119 Michael Rau, jestem starszym in\u017cynierem systemowym w firmie ActioNet, kt\u00f3ra wsp\u00f3\u0142pracuje z Krajowym Urz\u0119dem ds. Oceanicznych i Atmosferycznych (NOAA) w ramach s\u0142u\u017cby NESDIS. Dzi\u015b porozmawiamy o \u201eskr\u00f3tach\u201d \u2013 moim osobistym do\u015bwiadczeniu migracji z Puppet Enterprise na Ansible Tower. Tematem tej prezentacji jest \u201ezerkn\u0105\u0107 na moje blizny\u201d, kt\u00f3re pozosta\u0142y po dokonaniu tej migracji na pocz\u0105tku roku. Chc\u0119 opowiedzie\u0107, czego si\u0119 nauczy\u0142em w tym procesie. Tak wi\u0119c, gdy zabierzesz si\u0119 za co\u015b podobnego, korzystaj\u0105c z mojego do\u015bwiadczenia, b\u0119dziesz m\u00f3g\u0142 wykona\u0107 to przej\u015bcie bez zb\u0119dnego wysi\u0142ku.<\/p>\n<p>Widzisz slajdy podobne do tego na pocz\u0105tku ka\u017cdej prezentacji na Ansible Fest. Na tym slajdzie przedstawiono histori\u0119 automatyzacji mojej firmy. Nie jestem nowicjuszem w tej dziedzinie, poniewa\u017c korzystam z Puppet\/Puppet Enterprise od 2007 roku. Zacz\u0105\u0142em pracowa\u0107 z Ansible od 2016 roku i, podobnie jak wielu innych u\u017cytkownik\u00f3w tego produktu, przyci\u0105gn\u0119\u0142a mnie mo\u017cliwo\u015b\u0107 \u201esztuczek\u201d za pomoc\u0105 wiersza polece\u0144 i prostych skrypt\u00f3w (playbook\u00f3w). Pod koniec 2017 roku zwr\u00f3ci\u0142em si\u0119 do swojego kierownictwa z powa\u017cnymi argumentami przemawiaj\u0105cymi za przej\u015bciem na Ansible Tower. Za chwil\u0119 opowiem o powodach, kt\u00f3re sk\u0142oni\u0142y mnie do tego kroku. Po uzyskaniu zgody kierownictwa zaj\u0119\u0142o jeszcze kilka miesi\u0119cy zrealizowanie planu, a ja zrealizowa\u0142em migracj\u0119 w styczniu-lutym tego roku. Tak wi\u0119c ca\u0142kowicie zrezygnowali\u015bmy z Puppet na rzecz Ansible, co jest wielk\u0105 spraw\u0105. <\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/0e179ef00aa22edae72270e53d9787df.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNajbardziej fascinuj\u0105c\u0105 cech\u0105 Ansible jest mo\u017cliwo\u015b\u0107 pisania i u\u017cywania r\u00f3l oraz scenariuszy. Role idealnie nadaj\u0105 si\u0119 do tworzenia r\u00f3\u017cnych, ale powi\u0105zanych zada\u0144 i gromadzenia wszystkich danych zwi\u0105zanych z tymi zadaniami w jednym miejscu. Playbook to sk\u0142adnia YAML, plik skryptowy opisuj\u0105cy akcje dla jednego lub kilku host\u00f3w. Informuj\u0119 o tych mo\u017cliwo\u015bciach u\u017cytkownik\u00f3w, przede wszystkim programist\u00f3w. Ansible Tower umo\u017cliwia stwierdzenie: \u201enie, nie masz dost\u0119pu do pow\u0142oki, ale daj\u0119 ci mo\u017cliwo\u015b\u0107 uruchomienia wszystkich proces\u00f3w Tower i ponownego uruchomienia us\u0142ugi, kiedy b\u0119dziesz tego potrzebowa\u0107\u201d. Opowiem o naszym \u015brodowisku pracy i u\u017cywanym sprz\u0119cie. <\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/1dd8f9d0025660a1f3c17a174681caec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo federalna sie\u0107 LAN, 7 fizycznych lokalizacji po\u0142\u0105czonych przez chmur\u0119 MPLS, 140 serwer\u00f3w RHEL, z czego 99% to serwery wirtualne (vSphere), sprz\u0119t SuperMicro, pami\u0119\u0107 sieciowa NexentaStore, zestaw prze\u0142\u0105cznik\u00f3w Cisco, Arista i Cumulus, a tak\u017ce zintegrowane systemy zarz\u0105dzania zagro\u017ceniami Fortinet UTM w ka\u017cdej lokalizacji. <\/p>\n<p>Sie\u0107 federalna oznacza, \u017ce musz\u0119 stosowa\u0107 wszystkie \u015brodki ochrony informacji przewidziane ustawodawstwem. Nale\u017cy pami\u0119ta\u0107, \u017ce Puppet Enterprise nie obs\u0142uguje wi\u0119kszo\u015bci u\u017cywanego przez nas sprz\u0119tu. Jeste\u015bmy zmuszeni korzysta\u0107 z bud\u017cetowego sprz\u0119tu, poniewa\u017c organy rz\u0105dowe maj\u0105 problemy z finansowaniem tej pozycji wydatk\u00f3w. Dlatego kupujemy sprz\u0119t klasy SuperMicro i sk\u0142adamy nasze urz\u0105dzenia z osobnych komponent\u00f3w, kt\u00f3rych serwisowanie jest gwarantowane przez kontrakty rz\u0105dowe. U\u017cywamy Linuxa, i to jedna z wa\u017cnych przyczyn przej\u015bcia na Ansible. <\/p>\n<p>Nasza historia pracy z Puppet jest nast\u0119puj\u0105ca.<\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/a893499e8bbabf1223461f11d737e777.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW 2007 roku mieli\u015bmy ma\u0142\u0105 sie\u0107 licz\u0105c\u0105 20-25 w\u0119z\u0142\u00f3w, w kt\u00f3rej wdro\u017cyli\u015bmy Puppet. G\u0142\u00f3wnie te w\u0119z\u0142y przedstawia\u0142y proste \u201epude\u0142ka\u201d RedHat. W 2010 roku zacz\u0119li\u015bmy korzysta\u0107 z interfejsu webowego Puppet Dashboard dla 45 w\u0119z\u0142\u00f3w. W miar\u0119 jak sie\u0107 si\u0119 rozwija\u0142a, w 2014 roku przeszli\u015bmy na PE 3.3, dokonuj\u0105c pe\u0142nego przej\u015bcia z przepisaniem manifestu dla 75 w\u0119z\u0142\u00f3w. Konieczno\u015b\u0107 ta wynika\u0142a z tego, \u017ce Puppet lubi zmienia\u0107 zasady gry, a w tym przypadku ca\u0142kowicie zmieniono j\u0119zyk. Rok p\u00f3\u017aniej, gdy wsparcie dla 3. wersji Puppet Enterprise zosta\u0142o zako\u0144czone, byli\u015bmy zmuszeni do migracji na PE 2015.2. Musieli\u015bmy ponownie przepisa\u0107 manifest na nowe serwery i zakupi\u0107 licencj\u0119 z zapasem na 100 w\u0119z\u0142\u00f3w, mimo \u017ce w tym czasie mieli\u015bmy tylko 85 w\u0119z\u0142\u00f3w. <\/p>\n<p>Min\u0119\u0142y zaledwie 2 lata i zn\u00f3w byli\u015bmy zmuszeni do przeprowadzenia du\u017cej pracy zwi\u0105zanej z przej\u015bciem na now\u0105 wersj\u0119 PE 2016.4. Kupili\u015bmy licencj\u0119 na 300 w\u0119z\u0142\u00f3w, maj\u0105c jedynie 130. Ponownie musieli\u015bmy wprowadzi\u0107 powa\u017cne zmiany w manife\u015bcie, poniewa\u017c nowa wersja j\u0119zyka mia\u0142a sk\u0142adni\u0119 r\u00f3\u017cni\u0105c\u0105 si\u0119 od sk\u0142adni wersji 2015. W efekcie nasza SCM przesz\u0142a z systemu kontroli wersji SVN na Bitbucket (Git). Takie by\u0142y nasze \u201erelacje\u201d z Puppet.<\/p>\n<p>Musia\u0142em wi\u0119c wyja\u015bni\u0107 kierownictwu, dlaczego musimy przej\u015b\u0107 na inny SCM, u\u017cywaj\u0105c nast\u0119puj\u0105cych argument\u00f3w. Pierwszy - wysoka cena us\u0142ugi. Rozmawia\u0142em z ch\u0142opakami z RedHat i powiedzieli, \u017ce koszt utrzymania sieci 300 w\u0119z\u0142\u00f3w za pomoc\u0105 Ansible Tower wynosi po\u0142ow\u0119 koszt\u00f3w Puppet Enterprise. Je\u015bli kupisz jeszcze Ansible Engine, koszty b\u0119d\u0105 mniej wi\u0119cej takie same, ale otrzymasz znacznie wi\u0119cej funkcji ni\u017c w PE. Jako \u017ce jeste\u015bmy pa\u0144stwow\u0105 firm\u0105 finansowan\u0105 z bud\u017cetu federalnego, to do\u015b\u0107 mocny argument. <\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/8077b9a470286c795a13de3cd6470ce9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDrugim argumentem jest wszechstronno\u015b\u0107. Puppet obs\u0142uguje tylko to wyposa\u017cenie, na kt\u00f3rym zainstalowany jest agent Puppet. Oznacza to, \u017ce na wszystkie prze\u0142\u0105czniki trzeba zainstalowa\u0107 agenta, a on musi by\u0107 najnowszej wersji. A je\u015bli cz\u0119\u015b\u0107 Twoich prze\u0142\u0105cznik\u00f3w obs\u0142uguje jedn\u0105 wersj\u0119, a cz\u0119\u015b\u0107 inn\u0105, b\u0119dziesz musia\u0142 zainstalowa\u0107 na nich now\u0105 wersj\u0119 agenta PE, aby wszystkie mog\u0142y dzia\u0142a\u0107 w jednym systemie SCM.<\/p>\n<p>System Ansible Tower dzia\u0142a inaczej, poniewa\u017c nie ma \u017cadnych agent\u00f3w, ale posiada modu\u0142y wspieraj\u0105ce prze\u0142\u0105czniki Cisco oraz inne prze\u0142\u0105czniki. Ten SCM wspiera Qubes OS, Linux oraz 4.NET UTM. Ansible Tower obs\u0142uguje tak\u017ce kontrolery sieciowych magazyn\u00f3w NexentaStore, oparte na j\u0105drze Illumos \u2013 systemie operacyjnym open-source bazuj\u0105cym na Unixie. To bardzo ograniczone wsparcie, ale Ansible Tower i tak je oferuje. <\/p>\n<p>Trzeci argument, bardzo wa\u017cny zar\u00f3wno dla mnie, jak i dla naszej administracji, to \u0142atwo\u015b\u0107 nauki. Przez 10 lat uczy\u0142em si\u0119 modu\u0142\u00f3w i kodu manifest\u00f3w Puppet, ale Ansible opanowa\u0142em w ci\u0105gu tygodnia, poniewa\u017c z tym SCM du\u017co \u0142atwiej si\u0119 pracuje. W przypadku uruchamiania plik\u00f3w wykonywalnych, o ile nie robisz tego bez potrzeby, wsp\u00f3\u0142pracuj\u0105 z nimi rozs\u0105dne i responsywne procesory. Skrypty playbook\u00f3w oparte na YAML charakteryzuj\u0105 si\u0119 \u0142atwo\u015bci\u0105 nauki i szybko\u015bci\u0105 u\u017cycia. Ci, kt\u00f3rzy nigdy wcze\u015bniej nie s\u0142yszeli o YAML, mog\u0105 po prostu przeczyta\u0107 skrypty i \u0142atwo zrozumie\u0107, jak to dzia\u0142a. <\/p>\n<p>Szczerze m\u00f3wi\u0105c, Puppet znacznie komplikuje twoj\u0105 prac\u0119 jako dewelopera, poniewa\u017c opiera si\u0119 na u\u017cyciu Puppet Master. To jedyna maszyna, kt\u00f3ra ma prawo komunikowa\u0107 si\u0119 z agentami Puppet. Je\u015bli wprowadzisz jakie\u015b zmiany w manife\u015bcie i chcesz przetestowa\u0107 sw\u00f3j kod, musisz przepisa\u0107 kod dla Puppet Mastera, czyli skonfigurowa\u0107 plik Puppet mastera \/etc\/hosts do po\u0142\u0105czenia wszystkich klient\u00f3w i uruchomi\u0107 us\u0142ug\u0119 Puppet Server. Dopiero po tym mo\u017cesz przetestowa\u0107 dzia\u0142anie sprz\u0119tu sieciowego na jednym ho\u015bcie. To do\u015b\u0107 bolesna procedura. <br \/>\nW Ansible wszystko jest znacznie prostsze. Wszystko, co musisz zrobi\u0107, to opracowa\u0107 kod dla maszyny, kt\u00f3ra ma mo\u017cliwo\u015b\u0107 po\u0142\u0105czenia si\u0119 za pomoc\u0105 protoko\u0142u SSH z testowanym hostem. Z tym pracuje si\u0119 du\u017co \u0142atwiej.<\/p>\n<p>Kolejn\u0105 du\u017c\u0105 zalet\u0105 Ansible Tower jest mo\u017cliwo\u015b\u0107 wykorzystania ju\u017c istniej\u0105cego systemu wsparcia i zachowania istniej\u0105cej konfiguracji sprz\u0119tu. Ten SCM bez \u017cadnych dodatkowych dzia\u0142a\u0144 wykorzystuje wszystkie dost\u0119pne informacje o twojej infrastrukturze i sprz\u0119cie, maszynach wirtualnych, serwerach itd. Mo\u017ce komunikowa\u0107 si\u0119 z twoimi serwerami RH Satellite, je\u015bli takie s\u0105 dost\u0119pne, i zapewnia integracj\u0119, jakiej nigdy nie otrzymasz, pracuj\u0105c z Puppet.<\/p>\n<p>Kolejn\u0105 istotn\u0105 kwesti\u0105 jest szczeg\u00f3\u0142owa kontrola. Wiesz, \u017ce Puppet to system modu\u0142owy, jest to aplikacja klient-serwer, wi\u0119c musisz okre\u015bli\u0107 istniej\u0105ce aspekty dzia\u0142ania wszystkich swoich maszyn w jednym d\u0142ugim manife\u015bcie. Przy tym stan ka\u017cdego poszczeg\u00f3lnego elementu systemu nale\u017cy testowa\u0107 co p\u00f3\u0142 godziny \u2013 to domy\u015blny okres. Tak dzia\u0142a Puppet.<\/p>\n<p>Tower uwalnia ci\u0119 od tego problemu. Mo\u017cesz swobodnie wykonywa\u0107 r\u00f3\u017cnorodne procesy na r\u00f3\u017cnych urz\u0105dzeniach, mo\u017cesz wykonywa\u0107 podstawowe zadania, uruchamia\u0107 inne wa\u017cne procesy, konfigurowa\u0107 system zabezpiecze\u0144, pracowa\u0107 z bazami danych. Mo\u017cesz robi\u0107 wszystko, co w Puppet Enterprise wi\u0105\u017ce si\u0119 z pewnymi trudno\u015bciami. Na przyk\u0142ad, je\u015bli skonfigurowa\u0142e\u015b na jednym ho\u015bcie, potrzebujesz czasu, aby zmiany wesz\u0142y w \u017cycie na pozosta\u0142ych hostach. W Ansible wszystkie zmiany wchodz\u0105 w \u017cycie jednocze\u015bnie.<\/p>\n<p>Na koniec om\u00f3wmy modu\u0142 zabezpiecze\u0144. W Ansible Tower zosta\u0142 on zrealizowany w spos\u00f3b niesamowity, z du\u017c\u0105 precyzj\u0105 i staranno\u015bci\u0105. Mo\u017cesz przyznawa\u0107 u\u017cytkownikom dost\u0119p do konkretnych us\u0142ug lub do konkretnych host\u00f3w. Post\u0119puj\u0119 tak z moimi pracownikami, kt\u00f3rzy s\u0105 przyzwyczajeni do pracy na Windows, ograniczaj\u0105c ich dost\u0119p do pow\u0142oki Linuxa. Zapewniam im taki dost\u0119p do Tower, aby mogli wykonywa\u0107 tylko te zadania i uruchamia\u0107 tylko te us\u0142ugi, kt\u00f3re nale\u017c\u0105 do ich kompetencji.<\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/f3bd3b26cf20225b6e1800e09dbcfe43.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrzyjrzyjmy si\u0119 kwestiom, kt\u00f3re nale\u017cy rozwi\u0105za\u0107 wcze\u015bniej, aby u\u0142atwi\u0107 przej\u015bcie na Ansible Tower. Przede wszystkim musisz przygotowa\u0107 swoje urz\u0105dzenia. Je\u015bli jakie\u015b elementy twojej infrastruktury nie znajduj\u0105 si\u0119 jeszcze w bazie danych, musisz je tam doda\u0107. S\u0105 systemy, kt\u00f3re nie zmieniaj\u0105 swoich w\u0142a\u015bciwo\u015bci i dlatego brakuje ich w bazie danych Puppet, ale je\u015bli nie dodasz ich przed przej\u015bciem na Tower, stracisz wiele korzy\u015bci. Mo\u017ce to by\u0107 \u201ebrudna\u201d, wst\u0119pna baza danych, ale musi zawiera\u0107 informacje o ca\u0142ym posiadanym przez ciebie sprz\u0119cie. Dlatego warto napisa\u0107 dynamiczny skrypt sprz\u0119towy, kt\u00f3ry automatycznie wprowadzi wszelkie zmiany infrastruktury do bazy danych, dzi\u0119ki czemu Ansible b\u0119dzie wiedzia\u0142, kt\u00f3re hosty powinny znajdowa\u0107 si\u0119 w nowym systemie. Nie b\u0119dziesz musia\u0142 informowa\u0107 tego SCM, kt\u00f3re hosty doda\u0142e\u015b i kt\u00f3rych host\u00f3w ju\u017c nie ma, poniewa\u017c wszystko to pozna automatycznie. Im wi\u0119cej danych b\u0119dzie w bazie danych, tym bardziej u\u017cyteczny i elastyczny b\u0119dzie Ansible. Dzia\u0142a tak, jakby po prostu odczytywa\u0142 kod kreskowy stanu sprz\u0119tu z bazy danych.<\/p>\n<p>Sp\u0119d\u017a troch\u0119 czasu na zapoznaniu si\u0119 z dzia\u0142aniem wiersza polece\u0144 w Ansible. Uruchom kilka specjalnych polece\u0144, aby sprawdzi\u0107 dzia\u0142anie skryptu sprz\u0119towego, napisz i uruchom kilka prostych, ale przydatnych scenariuszy playbook, skorzystaj z szablon\u00f3w Jinja2 tam, gdzie to stosowne. Spr\u00f3buj napisa\u0107 rol\u0119 i skrypt dla z\u0142o\u017conego wieloetapowego procesu, u\u017cywaj\u0105c standardowej, cz\u0119sto spotykanej konfiguracji sprz\u0119tu. Pobaw si\u0119 tymi rzeczami, przetestuj, jak to dzia\u0142a. W ten spos\u00f3b nauczysz si\u0119 pracowa\u0107 z narz\u0119dziami do tworzenia bibliotek u\u017cywanych w Tower. Ju\u017c m\u00f3wi\u0142em, \u017ce przygotowanie do przej\u015bcia zaj\u0119\u0142o mi oko\u0142o 3 miesi\u0119cy. My\u015bl\u0119, \u017ce na podstawie mojego do\u015bwiadczenia uda ci si\u0119 to zrobi\u0107 szybciej. Nie traktuj tego czasu jako straconego, poniewa\u017c p\u00f3\u017aniej odczujesz wszystkie korzy\u015bci z wykonanej pracy. <\/p>\n<p>Nast\u0119pnie nale\u017cy zdecydowa\u0107, czego oczekujesz od Ansible Tower, co konkretnie ten system ma dla ciebie zrobi\u0107. <\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/4511b3f34d57e489be1103c3b77fc98f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCzy potrzebujesz wdro\u017cenia systemu na pustym sprz\u0119cie lub na pustych maszynach wirtualnych? Czy chcesz zachowa\u0107 oryginalne warunki pracy i ustawienia istniej\u0105cego sprz\u0119tu? To bardzo wa\u017cny aspekt dla dzia\u0142alno\u015bci firm rz\u0105dowych, dlatego musisz mie\u0107 pewno\u015b\u0107, \u017ce uda ci si\u0119 przeprowadzi\u0107 migracj\u0119 i wdro\u017cy\u0107 Ansible w istniej\u0105cej konfiguracji. Zidentyfikuj rutynowe procesy administracyjne, kt\u00f3re chcesz zautomatyzowa\u0107. Dowiedz si\u0119, czy potrzebujesz wdro\u017cy\u0107 na nowym systemie specyficzne aplikacje i us\u0142ugi. Sporz\u0105d\u017a list\u0119 dzia\u0142a\u0144, kt\u00f3re chcesz podj\u0105\u0107, i nadaj im priorytety. <\/p>\n<p>Nast\u0119pnie przyst\u0105p do pisania kodu skrypt\u00f3w i r\u00f3l, kt\u00f3re zapewni\u0105 wykonanie zaplanowanych zada\u0144. Po\u0142\u0105cz je w Projekty, logiczn\u0105 kolekcj\u0119 odpowiednich skrypt\u00f3w playbook\u00f3w. Ka\u017cdy Projekt b\u0119dzie odnosi\u0142 si\u0119 do oddzielnego repozytorium Git lub innego repozytorium w zale\u017cno\u015bci od u\u017cywanego mened\u017cera kodu. Mo\u017cesz zarz\u0105dza\u0107 skryptami playbook\u00f3w i katalogami playbook\u00f3w, umieszczaj\u0105c je r\u0119cznie w Project Base Path na serwerze Tower lub umieszczaj\u0105c playbook w dowolnym systemie zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym (SCM) wspieranym przez Tower, w tym Git, Subversion, Mercurial i Red Hat Insights. W ramach jednego Projektu mo\u017cesz umie\u015bci\u0107 tyle skrypt\u00f3w, ile chcesz. Na przyk\u0142ad stworzy\u0142em jeden podstawowy Projekt, w kt\u00f3rym umie\u015bci\u0142em skrypt dla podstawowych element\u00f3w RedHat, skrypt dla podstawy Linux oraz skrypty dla pozosta\u0142ych podstawowych wska\u017anik\u00f3w. W ten spos\u00f3b w jednym projekcie znajdowa\u0142y si\u0119 r\u00f3\u017cnorodne role i skrypty, kt\u00f3rymi zarz\u0105dzano z jednego repozytorium Git. <\/p>\n<p>Uruchamiaj wszystkie te elementy przez wiersz polece\u0144, to dobry spos\u00f3b na sprawdzenie ich dzia\u0142ania. Dzi\u0119ki temu przygotujesz si\u0119 do instalacji Tower.<\/p>\n<p>Porozmawiajmy troch\u0119 o transkodowaniu manifestu Puppet, poniewa\u017c po\u015bwi\u0119ci\u0142em na to du\u017co czasu, zanim zda\u0142em sobie spraw\u0119, co tak naprawd\u0119 nale\u017cy zrobi\u0107. <\/p>\n<p><img decoding=\"async\" alt=\"Obcinamy sznurki: migracja z Puppet Enterprise do Ansible Tower. Cz\u0119\u015b\u0107 1\" src=\"\/wp-content\/uploads\/2020\/05\/abbc9ffb10b623dc29bcd975dca3bb80.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJak ju\u017c wspomnia\u0142em, Puppet przechowuje wszystkie ustawienia i parametry sprz\u0119towe w jednym d\u0142ugim manife\u015bcie, a w tym manife\u015bcie znajduje si\u0119 wszystko, co ta SCM powinna robi\u0107. Podczas migracji nie musisz wrzuca\u0107 wszystkich swoich zada\u0144 na jedn\u0105 list\u0119, zamiast tego pomy\u015bl o strukturze nowego systemu: rolach, scenariuszach, tagach, grupach i tym, co powinno si\u0119 w nie wpisa\u0107. Niekt\u00f3re z autonomicznych element\u00f3w sieci powinny by\u0107 po\u0142\u0105czone w grupy, dla kt\u00f3rych mo\u017cna stworzy\u0107 scenariusze. Bardziej z\u0142o\u017cone elementy infrastruktury, kt\u00f3re anga\u017cuj\u0105 du\u017c\u0105 ilo\u015b\u0107 zasob\u00f3w, w tym autonomiczne klasy, mo\u017cna po\u0142\u0105czy\u0107 w rolach. Przed migracj\u0105 musisz to ustali\u0107. Je\u015bli tworzysz obszerne role lub scenariusze, kt\u00f3re nie mieszcz\u0105 si\u0119 na jednym ekranie, powiniene\u015b u\u017cy\u0107 tag\u00f3w, aby m\u00f3c uchwyci\u0107 poszczeg\u00f3lne cz\u0119\u015bci infrastruktury. <\/p>\n<p>18:00<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500588\/\"> Przycinanie w\u0105tk\u00f3w: migracja z Puppet Enterprise na Ansible Tower. Cz\u0119\u015b\u0107 2 <\/a><\/noindex><\/p>\n<h3>Troch\u0119 reklamy \ud83d\ude42<\/h3>\n<p>\nDzi\u0119kujemy, \u017ce jeste\u015b z nami. Podobaj\u0105 Ci si\u0119 nasze artyku\u0142y? Chcesz zobaczy\u0107 wi\u0119cej interesuj\u0105cych materia\u0142\u00f3w? Wspieraj nas sk\u0142adaj\u0105c zam\u00f3wienie lub polecaj\u0105c nas znajomym, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">chmurowe VPS dla programist\u00f3w od 4,99 $<\/a><\/noindex>, <b>unikatowy odpowiednik serwer\u00f3w entry-level, kt\u00f3ry zosta\u0142 stworzony przez nas dla Ciebie:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Ca\u0142a prawda o VPS (KVM) E5-2697 v3 (6 rdzeni) 10GB DDR4 480GB SSD 1Gbps od 19 $ lub jak prawid\u0142owo podzieli\u0107 serwer?<\/a><\/noindex> (dost\u0119pne opcje z RAID1 i RAID10, do 24 rdzeni i do 40GB DDR4).<\/p>\n<p><b>Dell R730xd dwa razy ta\u0144szy w centrum danych Equinix Tier IV w Amsterdamie?<\/b> Tylko u nas <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB od 199 dolar\u00f3w<\/a><\/noindex> w Holandii! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 dolar\u00f3w!<\/b><\/b> Czytaj o tym <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak zbudowa\u0107 infrastruktur\u0119 klasy korporacyjnej z zastosowaniem serwer\u00f3w Dell R730xd E5-2650 v4 kosztuj\u0105cych 9000 euro za grosze?<\/a><\/noindex><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500400\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0412 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u00ab\u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438\u00bb \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u041c\u0430\u0439\u043a\u043b \u0420\u0430\u0443 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u0438 \u043e\u043f\u044b\u0442\u043e\u043c, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Przycinanie w\u0105tk\u00f3w: migracja z Puppet Enterprise na Ansible Tower. Cz\u0119\u015b\u0107 1 | ProHoster","description":"Krajowa S\u0142u\u017cba Informacyjna Danych Satelitarnych o \u015arodowisku (NESDIS) obni\u017cy\u0142a swoje koszty zarz\u0105dzania konfiguracj\u0105 Red Hat Enterprise Linux (RHEL) o 35% dzi\u0119ki migracji z Puppet Enterprise na Ansible Tower.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-06T11:42:24+00:00","article:modified_time":"2020-05-06T11:42:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80491","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:17:31","updated":"2022-09-28 07:21:37","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/80491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=80491"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/80491\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/80492"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=80491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=80491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=80491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}