Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Nacionālais vides satelÄ«tu datu informācijas dienests (NESDIS) ir samazinājis Red Hat Enterprise Linux (RHEL) konfigurācijas pārvaldÄ«bas izmaksas par 35%, pārejot no Puppet Enterprise uz Ansible Tower. Å ajā videoklipā ā€œkā mēs to paveicāmā€ sistēmu inženieris Maikls Rau izskaidro Ŕīs migrācijas gadÄ«jumu, daloties ar noderÄ«giem padomiem un mācÄ«bām, kas gÅ«tas, pārejot no viena SCM uz citu.

No Ŕī video jūs uzzināsit:

  • kā pamatot vadÄ«bai iespējamÄ«bu pāriet no Puppet Enterprise uz Ansible Tower;
  • kādas stratēģijas izmantot, lai pāreja bÅ«tu pēc iespējas vienmērÄ«gāka;
  • padomi PE manifestu pārkodÄ“Å”anai Ansible Playbook;
  • Ieteikumi optimālai Ansible Tower uzstādÄ«Å”anai.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Sveiki visiem, mani sauc Maikls Rau. Es esmu vecākais sistēmu inženieris uzņēmumā ActioNet, kas strādā Nacionālās okeānu un atmosfēras administrācijas (NOAA) NESDIS dienestā. Å odien mēs runāsim par stÄ«gu apgrieÅ”anu ā€” mana pieredze, migrējot no Puppet Enterprise uz Ansible Tower. Å Ä«s prezentācijas tēma ir ā€œpaskatÄ«ties uz manām rētāmā€, kas palikuÅ”as pēc tam, kad es veicu Å”o pāreju gada sākumā. Es vēlos dalÄ«ties ar to, ko esmu iemācÄ«jies Å”ajā procesā. Tātad, kad jÅ«s uzņematies kaut ko lÄ«dzÄ«gu, izmantojot manu pieredzi, varat veikt pāreju bez papildu darba.

Katras Ansible Fest prezentācijas sākumā ir redzami Å”im lÄ«dzÄ«gi slaidi. Å ajā slaidā ir izklāstÄ«ta mana uzņēmuma automatizācijas vēsture. Es neesmu iesācējs Å”ajā jomā, jo es izmantoju Puppet/Puppet Enterprise kopÅ” 2007. gada. Es sāku strādāt ar Ansible 2016. gadā, un, tāpat kā daudzus citus Ŕī produkta lietotājus, mani piesaistÄ«ja iespēja ā€œmānÄ«tā€, izmantojot komandrindu un vienkārÅ”us skriptus (playbooks). 2017. gada beigās es vērsos pie savas vadÄ«bas, lai uzzinātu, kādi ir nopietni iemesli pārcelties uz Ansible Tower. Pēc minÅ«tes es jums pastāstÄ«Å”u par iemesliem, kas mani pamudināja spert Å”o soli. Pēc vadÄ«bas piekriÅ”anas saņemÅ”anas plāna pabeigÅ”ana prasÄ«ja vēl vairākus mēneÅ”us, un pāreju veicu Ŕī gada janvārÄ«-februārÄ«. Tātad, mēs pilnÄ«bā atteicāmies no Puppet par labu Ansible, un tā ir lieliska lieta.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Mani visvairāk uzrunā Ansible spēja rakstÄ«t un izmantot lomas un rotaļu grāmatas. Lomas ir lieliski piemērotas atseviŔķu, bet saistÄ«tu uzdevumu izveidei un visu ar Å”iem uzdevumiem saistÄ«to datu ievietoÅ”anai vienuviet. Rokasgrāmata ir YAML sintakse, skripta fails, kas apraksta darbÄ«bas vienam vai vairākiem saimniekiem. Es pastāstu lietotājiem par Ŕīm funkcijām, galvenokārt programmatÅ«ras izstrādātājiem. Ansible Tower sniedz jums iespēju pateikt: "nē, jums nav čaulas piekļuves, bet es dodu jums iespēju palaist visus Tower procesus un restartēt pakalpojumu, kad tas ir nepiecieÅ”ams." PastāstÄ«Å”u par darba vidi un izmantojamo tehniku.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Šis ir federālais LAN, 7 fiziskas vietnes, kas savienotas, izmantojot mākoņa MPLS, 140 RHEL serveri, no kuriem 99% ir virtuāli (vSphere), SuperMicro aparatūra, NexentaStore tīkla krātuve, Cisco, Arista un Cumulus slēdžu komplekts un Fortinet UTM vienota draudu pārvaldība. rīki katrā vietnē.

Federālais tÄ«kls nozÄ«mē, ka man ir jāizmanto visi likumā paredzētie informācijas droŔības pasākumi. Ņemiet vērā, ka Puppet Enterprise neatbalsta lielāko daļu mÅ«su izmantotās aparatÅ«ras. Mēs esam spiesti izmantot budžeta aparatÅ«ru, jo valsts aÄ£entÅ«rām ir problēmas ar Ŕīs izdevumu pozÄ«cijas finansÄ“Å”anu. Tāpēc mēs pērkam SuperMicro aparatÅ«ru un komplektējam savas iekārtas no atseviŔķām daļām, kuru apkopi garantē valsts lÄ«gumi. Mēs izmantojam Linux, un tas ir viens no svarÄ«gākajiem iemesliem, lai pārietu uz Ansible.

MÅ«su vēsture ar Puppet ir Ŕāda.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

2007. gadā mums bija neliels 20ā€“25 mezglu tÄ«kls, kurā mēs izvietojām Puppet. BÅ«tÄ«bā Å”ie mezgli bija tikai RedHat ā€œkastesā€. 2010. gadā mēs sākām izmantot Puppet Dashboard tÄ«mekļa saskarni 45 mezgliem. Tā kā tÄ«kls turpināja paplaÅ”ināties, 2014. gadā mēs pārgājām uz PE 3.3, veicot pilnÄ«gu pāreju ar manifesta pārrakstÄ«Å”anu 75 mezgliem. Tas bija jādara, jo Lellei patÄ«k mainÄ«t spēles noteikumus, un Å”ajā gadÄ«jumā viņi pilnÄ«bā mainÄ«ja valodu. Gadu vēlāk, kad beidzās Puppet Enterprise 3. versijas atbalsts, mēs bijām spiesti migrēt uz PE 2015.2. Mums bija vēlreiz jāpārraksta manifests jaunajiem serveriem un jāiegādājas licence ar 100 mezglu rezervi, lai gan tajā laikā mums bija tikai 85 mezgli.

Ir pagājuÅ”i tikai 2 gadi, un mums atkal bija daudz jāstrādā, lai migrētu uz jauno PE 2016.4 versiju. Mēs iegādājāmies licenci 300 mezgliem, kuriem bija tikai 130. Mums atkal bija jāveic bÅ«tiskas izmaiņas manifestā, jo jaunajai valodas versijai bija atŔķirÄ«ga sintakse nekā 2015. gada versijas valodai. Tā rezultātā mÅ«su SCM pārgāja no SVN versijas kontroles uz Bitbucket (Git). Tādas bija mÅ«su ā€œattiecÄ«basā€ ar Puppet.

Tāpēc man bija jāpaskaidro vadÄ«bai, kāpēc mums bija jāpāriet uz citu SCM, izmantojot Ŕādus argumentus. Pirmā ir pakalpojuma augstā cena. Es runāju ar RedHat puiÅ”iem, un viņi teica, ka 300 mezglu tÄ«kla darbÄ«bas izmaksas ar Ansible Tower ir puse no Puppet Enterprise izmaksām. Ja iegādājaties arÄ« Ansible Engine, izmaksas bÅ«s aptuveni tādas paÅ”as, taču jÅ«s iegÅ«sit daudz vairāk funkciju nekā PE. Tā kā mēs esam valsts uzņēmums, ko finansē no federālā budžeta, tas ir diezgan spēcÄ«gs arguments.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Otrs arguments ir daudzpusība. Puppet atbalsta tikai aparatūru, kurai ir Puppet aģents. Tas nozīmē, ka aģents ir jāinstalē visos slēdžos, un tam ir jābūt jaunākajai versijai. Un, ja daži no jūsu slēdžiem atbalsta vienu versiju, bet daži atbalsta citu, jums tajos būs jāinstalē jauna PE aģenta versija, lai tie visi varētu darboties vienā SCM sistēmā.

Ansible Tower sistēma darbojas savādāk, jo tai nav neviena aģenta, taču tai ir moduļi, kas atbalsta Cisco slēdžus un visus citus slēdžus. Šis SCM atbalsta Qubes OS, Linux un 4.NET UTM. Ansible Tower atbalsta arī NexentaStore tīkla krātuves kontrolierus, kuru pamatā ir Illumos kodols, atvērtā koda Unix operētājsistēma. Tas ir ļoti mazs atbalsts, taču Ansible Tower to dara jebkurā gadījumā.

TreÅ”ais arguments, kas ir ļoti svarÄ«gs gan man, gan mÅ«su administrācijai, ir lietoÅ”anas ērtums. Es pavadÄ«ju 10 gadus, apgÅ«stot Puppet moduļus un manifesta kodu, bet es apguvu Ansible nedēļas laikā, jo ar Å”o SCM ir daudz vieglāk strādāt. Ja palaižat izpildāmos failus, protams, ja vien to nedarāt bez vajadzÄ«bas, tad ar tiem strādā inteliÄ£enti un atsaucÄ«gi apstrādātāji. Uz YAML balstÄ«tas rokasgrāmatas ir viegli apgÅ«stamas un ātri lietojamas. Tie, kas nekad nav dzirdējuÅ”i par YAML, var vienkārÅ”i izlasÄ«t skriptus un viegli saprast, kā tas darbojas.

GodÄ«gi sakot, Puppet padara jÅ«su kā izstrādātāja darbu daudz grÅ«tāku, jo tā pamatā ir Puppet Master izmantoÅ”ana. Tā ir vienÄ«gā maŔīna, kam atļauts sazināties ar Leļļu aÄ£entiem. Ja esat veicis izmaiņas manifestā un vēlaties pārbaudÄ«t savu kodu, jums ir jāpārraksta Puppet Master kods, tas ir, jākonfigurē Puppet Master /etc/hosts fails, lai savienotu visus klientus un startētu Puppet Server pakalpojumu. Tikai pēc tam jÅ«s varēsiet pārbaudÄ«t tÄ«kla aprÄ«kojuma darbÄ«bu vienā resursdatorā. Å Ä« ir diezgan sāpÄ«ga procedÅ«ra.
Ansible viss ir daudz vienkārŔāk. Viss, kas jums jādara, ir izstrādāt kodu maŔīnai, kas var sazināties, izmantojot SSH, ar testējamo resursdatoru. Ar to ir daudz vieglāk strādāt.

Nākamā lielā Ansible Tower priekÅ”rocÄ«ba ir iespēja izmantot esoÅ”o atbalsta sistēmu un uzturēt esoÅ”o aparatÅ«ras konfigurāciju. Å ajā SCM bez papildu darbÄ«bām tiek izmantota visa pieejamā informācija par jÅ«su infrastruktÅ«ru un aparatÅ«ru, virtuālajām maŔīnām, serveriem utt. Tas var sazināties ar jÅ«su RH Satellite serveriem, ja jums tādi ir, un nodroÅ”ina integrāciju, ko nekad neiegÅ«sit, izmantojot Puppet.

Vēl viena svarÄ«ga lieta ir detalizēta kontrole. JÅ«s zināt, ka Puppet ir modulāra sistēma, tā ir klienta-servera lietojumprogramma, tāpēc jums ir jādefinē visu savu maŔīnu esoÅ”ie aspekti vienā garā manifestā. Å ajā gadÄ«jumā katra atseviŔķa sistēmas elementa stāvoklis ir jāpārbauda ik pēc pusstundas - tas ir noklusējuma periods. Šādi darbojas Lelle.

Tornis glābj jÅ«s no tā. JÅ«s varat bez ierobežojumiem palaist dažādus procesus dažādās iekārtās, varat veikt pamata darbus, palaist citus svarÄ«gus procesus, iestatÄ«t droŔības sistēmu un strādāt ar datu bāzēm. Leļļu uzņēmumā varat darÄ«t visu, kas ir grÅ«ts. Tātad, ja to konfigurējāt vienā resursdatorā, paies laiks, lÄ«dz izmaiņas stāsies spēkā atlikuÅ”ajos saimniekdatoros. Programmā Ansible visas izmaiņas stājas spēkā vienlaikus.

Visbeidzot, apskatÄ«sim droŔības moduli. Ansible Tower to Ä«steno vienkārÅ”i pārsteidzoÅ”i, ar lielu precizitāti un rÅ«pÄ«bu. Varat pieŔķirt lietotājiem piekļuvi noteiktiem pakalpojumiem vai konkrētiem resursdatoriem. Es to daru ar saviem darbiniekiem, kuri ir pieraduÅ”i strādāt ar Windows, ierobežojot viņu piekļuvi Linux apvalkam. Es nodroÅ”ināju, ka viņiem ir piekļuve Tower, lai viņi varētu veikt tikai darbu un sniegt tikai viņiem atbilstoÅ”us pakalpojumus.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

ApskatÄ«sim lietas, kas jums jādara pirms laika, lai atvieglotu pāreju uz Ansible Tower. Pirmkārt, jums ir jāsagatavo aprÄ«kojums. Ja daži jÅ«su infrastruktÅ«ras elementi vēl nav iekļauti datu bāzē, tie ir jāpievieno. Ir sistēmas, kas nemaina to raksturlielumus un tāpēc nav Puppet datu bāzē, taču, ja jÅ«s tās nepievienosiet tur pirms pārcelÅ”anās uz Tower, jÅ«s zaudēsiet vairākas priekÅ”rocÄ«bas. Tā var bÅ«t ā€œnetÄ«raā€, provizoriska datu bāze, taču tajā ir jābÅ«t informācijai par visu jÅ«su rÄ«cÄ«bā esoÅ”o aprÄ«kojumu. Tāpēc jums vajadzētu uzrakstÄ«t dinamisku aparatÅ«ras skriptu, kas automātiski nosÅ«tÄ«s visas infrastruktÅ«ras izmaiņas datu bāzē, un tad Ansible zinās, kuriem resursdatoriem vajadzētu bÅ«t jaunajā sistēmā. Jums nebÅ«s jāpasaka Å”im SCM, kurus saimniekdatorus esat pievienojis un kuri vairs nepastāv, jo tas visu to uzzinās automātiski. Jo vairāk datu bÅ«s datu bāzē, jo noderÄ«gāks un elastÄ«gāks bÅ«s Ansible. Tas darbojas tā, it kā tas vienkārÅ”i nolasÄ«tu aparatÅ«ras statusa svÄ«trkodu no datu bāzes.

Pavadiet kādu laiku, iepazÄ«stoties ar Ansible komandrindu. Palaidiet dažas pielāgotas komandas, lai pārbaudÄ«tu aparatÅ«ras skriptu, uzrakstiet un palaidiet dažus vienkārÅ”us, bet noderÄ«gus rokasgrāmatas skriptus, vajadzÄ«bas gadÄ«jumā izmantojiet Jinja2 veidnes. Mēģiniet uzrakstÄ«t lomu un skriptu sarežģītam, daudzpakāpju procesam, izmantojot parastu, bieži sastopamu aparatÅ«ras konfigurāciju. Spēlējiet ar Ŕīm lietām, pārbaudiet, kā tas darbojas. Tādā veidā jÅ«s uzzināsit, kā izmantot tornÄ« izmantotos bibliotēkas izveides rÄ«kus. Es jau teicu, ka man bija nepiecieÅ”ami apmēram 3 mēneÅ”i, lai sagatavotos pārejai. Es domāju, ka, pamatojoties uz manu pieredzi, jÅ«s to varēsit izdarÄ«t ātrāk. Neuzskatiet Å”o laiku par velti, jo vēlāk jÅ«s izjutÄ«siet visas padarÄ«tā darba priekÅ”rocÄ«bas.

Tālāk jums jāizlemj, ko jÅ«s sagaidāt no Ansible Tower, ko tieÅ”i Å”ai sistēmai vajadzētu darÄ«t jÅ«su labā.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Vai sistēma ir jāizvieto uz tukÅ”as aparatÅ«ras, uz tukŔām virtuālajām maŔīnām? Vai arÄ« vēlaties saglabāt esoÅ”o iekārtu sākotnējos darbÄ«bas apstākļus un iestatÄ«jumus? Tas ir ļoti svarÄ«gs aspekts valsts uzņēmumiem, tāpēc jums ir jābÅ«t pārliecinātam, ka varēsit migrēt un izvietot Ansible savā esoÅ”ajā konfigurācijā. Nosakiet parastos administratÄ«vos procesus, kurus vēlaties automatizēt. Uzziniet, vai jaunajā sistēmā ir jāizvieto konkrētas lietojumprogrammas un pakalpojumi. Izveidojiet sarakstu ar to, ko vēlaties darÄ«t, un pieŔķiriet tam prioritāti.

Pēc tam sāciet rakstÄ«t skripta kodu un lomas, kas ļaus veikt plānotos uzdevumus. Apvienojiet tos projektos ā€” atbilstoÅ”o rokasgrāmatu loÄ£iskā kolekcijā. Katrs projekts piederēs atseviŔķai Git krātuvei vai citai krātuvei atkarÄ«bā no izmantotā koda pārvaldnieka. Varat pārvaldÄ«t rokasgrāmatu skriptus un rokasgrāmatu direktorijus, manuāli ievietojot tos Tower servera Project Base Path vai ievietojot rokasgrāmatu jebkurā avota koda pārvaldÄ«bas (SCM) sistēmā, ko atbalsta Tower, tostarp Git, Subversion, Mercurial un Red Hat. Ieskati. Viena projekta ietvaros varat ievietot tik daudz skriptu, cik vēlaties. Piemēram, es izveidoju vienu pamata projektu, kurā ievietoju skriptu RedHat pamata elementiem, skriptu Linux kodolam un skriptus pārējām bāzes lÄ«nijām. Tādējādi vienā projektā bija dažādas lomas un scenāriji, kas tika pārvaldÄ«ti no viena Git repozitorija.

Visu Å”o lietu palaiÅ”ana, izmantojot komandrindu, ir labs veids, kā pārbaudÄ«t to funkcionalitāti. Tas sagatavos jÅ«s torņa uzstādÄ«Å”anai.

Parunāsim nedaudz par Puppet manifesta pārkodÄ“Å”anu, jo es tam pavadÄ«ju daudz laika, lÄ«dz sapratu, kas patiesÄ«bā ir jādara.

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 1. daļa

Kā jau teicu iepriekÅ”, Puppet saglabā visus iestatÄ«jumus un aparatÅ«ras opcijas vienā garā manifestā, un Å”ajā manifestā tiek saglabāts viss, kas Å”im SCM bÅ«tu jādara. Veicot pāreju, jums nav jāsaliek visi uzdevumi vienā sarakstā; tā vietā padomājiet par jaunās sistēmas struktÅ«ru: lomām, skriptiem, tagiem, grupām un tam, kas tajā jāiekļauj. Daži autonomie tÄ«kla elementi ir jāsagrupē grupās, kurām var izveidot skriptus. Sarežģītākus infrastruktÅ«ras elementus, kas ietver lielu skaitu resursu, tostarp autonomas klases, var apvienot lomās. Pirms migrācijas jums tas ir jāizlemj. Ja veidojat lielas lomas vai scenārijus, kas neietilpst vienā ekrānā, izmantojiet tagus, lai varētu tvert noteiktas infrastruktÅ«ras daļas.

18:00

Pavedienu pārgrieÅ”ana: migrÄ“Å”ana no Puppet Enterprise uz Ansible Tower. 2. daļa

Dažas reklāmas šŸ™‚

Paldies, ka palikāt kopā ar mums. Vai jums patīk mūsu raksti? Vai vēlaties redzēt interesantāku saturu? Atbalsti mūs, pasūtot vai iesakot draugiem, mākoņa VPS izstrādātājiem no 4.99 USD, unikāls sākuma līmeņa serveru analogs, ko mēs jums izgudrojām: Visa patiesība par VPS (KVM) E5-2697 v3 (6 kodoli) 10GB DDR4 480GB SSD 1Gbps no 19$ vai kā koplietot serveri? (pieejams ar RAID1 un RAID10, līdz 24 kodoliem un līdz 40 GB DDR4).

Dell R730xd 2x lētāk Equinix Tier IV datu centrā Amsterdamā? Tikai Å”eit 2x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV no 199$ NÄ«derlandē! Dell R420 ā€” 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB ā€” no 99 USD! LasÄ«t par Kā izveidot infrastruktÅ«ras uzņēmumu klase ar Dell R730xd E5-2650 v4 serveru izmantoÅ”anu 9000 eiro par santÄ«mu?

Avots: www.habr.com

Pievieno komentāru