Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

National Environmental Satellite Data Information Service (NESDIS) Red Hat Enterprise Linux (RHEL) konfigurazio-kudeaketako kostuak % 35 murriztu ditu Puppet Enterprise-tik Ansible Tower-era migratuz. "Nola egin genuen" bideo honetan, Michael Rau sistemen ingeniariak migrazio honen kasua azaltzen du, SCM batetik bestera pasatzean jasotako aholku erabilgarriak eta ikasgaiak partekatuz.

Bideo honetatik ikasiko duzu:

  • Puppet Enterprise-tik Ansible Tower-era aldatzeko bideragarritasuna nola justifikatu zuzendaritzari;
  • zein estrategia erabili trantsizioa ahalik eta leunena egiteko;
  • PE manifestuak Ansible Playbook-era transkodetzeko aholkuak;
  • Ansible Dorrea instalatzeko gomendioak.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Kaixo guztioi, nire izena Michael Rau da, ActioNet-en sistemen ingeniari senior bat naiz, eta National Oceanic and Atmospheric Administration (NOAA) NESDIS zerbitzurako lan egiten du. Gaur soka mozteari buruz hitz egingo dugu - Puppet Enterprise-tik Ansible Tower-era migratzeko nire esperientzia. Aurkezpen honen gaia urte hasieran trantsizio hau egin ondoren utzitako "nire orbainei begirada bat ematea" da. Prozesu honen bidez ikasitakoa partekatu nahi dut. Beraz, horrelako zerbait hartzen duzunean, nire esperientzia erabiliz, trantsizioa egin dezakezu aparteko lanik gabe.

Ansible Fest-eko aurkezpen bakoitzaren hasieran antzeko diapositibak ikusten dituzu. Diapositiba honek nire enpresaren automatizazioaren historia azaltzen du. Ez naiz berria honetan Puppet/Puppet Enterprise erabiltzen dudalako 2007tik. 2016an hasi nintzen Ansiblerekin lanean, eta produktu honen beste erabiltzaile asko bezala, komando lerroa eta script sinpleak (playbooks) erabiliz "trikimailuak" egiteko aukerak erakarri ninduen. 2017. urtearen amaieran, nire zuzendaritzara jo nuen Ansible Tower-era aldatzeko arrazoi sendoei buruz. Minutu batean pauso hau ematera bultzatu ninduten arrazoien berri emango dizuet. Zuzendaritzaren baimena jaso ondoren, hainbat hilabete gehiago behar izan zituen plana burutzeko, eta aurtengo urtarrila-otsailean egin nuen trantsizioa. Beraz, Puppet erabat abandonatu genuen Ansibleren alde, eta gauza handia da.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Ansiblek gehien erakartzen nauena rolak eta jolas-liburuak idazteko eta erabiltzeko gaitasuna da. Rolak oso egokiak dira zeregin desberdinak baina erlazionatuta sortzeko eta zeregin horiei lotutako datu guztiak leku bakarrean jartzeko. Jokalari bat YAML sintaxi bat da, ostalari baten edo gehiagoren ekintzak deskribatzen dituen script fitxategia. Ezaugarri horiei buruz hitz egiten diet erabiltzaileei, batez ere software garatzaileei. Ansible Tower-ek "ez, ez duzu shell sarbiderik" esateko gaitasuna ematen dizu, baina Dorrearen prozesu guztiak exekutatzeko eta zerbitzua behar duzunean berrabiarazteko aukera ematen dizut. Lan-inguruneari eta erabiltzen ditugun ekipoei buruz hitz egingo dizuet.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Hau LAN federal bat da, hodeiko MPLS bidez konektatutako 7 gune fisiko, 140 RHEL zerbitzariak, horietatik % 99 birtualak (vSphere), SuperMicro hardwarea, NexentaStore sareko biltegiratzea, Cisco, Arista eta Cumulus etengailu multzoa eta Fortinet UTM mehatxuen kudeaketa bateratua. gune bakoitzean tresnak.

Sare federalak esan nahi du legeak emandako informazioaren segurtasun neurri guztiak erabili behar ditudala. Kontuan izan behar duzu Puppet Enterprise-k ez duela onartzen erabiltzen dugun hardware gehiena. Aurrekontu-hardwarea erabiltzera behartuta gaude, gobernu-agentziek arazoak dituztelako gastu-partida hau finantzatzeko. Hori dela eta, SuperMicro hardwarea erosten dugu eta gure ekipoak banakako zatietatik muntatzen ditugu, eta horien mantentze-lanak gobernu-kontratuek bermatzen dituzte. Linux erabiltzen dugu eta hau da Ansiblera aldatzeko arrazoi garrantzitsuetako bat.

Puppet-ekin dugun historia hau da.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

2007an, 20-25 nodoko sare txiki bat genuen, eta bertan Puppet zabaldu genuen. Funtsean, nodo hauek RedHat "kutxak" besterik ez ziren. 2010ean, Puppet Dashboard web interfazea erabiltzen hasi ginen 45 nodoetarako. Sarea hedatzen joan zen heinean, 2014an PE 3.3ra pasatu ginen, trantsizio osoa eginez 75 nodoren berridazketa manifestu batekin. Hau egin behar izan zen Puppet-i jokoaren arauak aldatzea gustatzen zaiolako, eta kasu honetan erabat aldatu zuten hizkuntza. Urtebete geroago, Puppet Enterprise-ren 3. bertsiorako laguntza amaitu zenean, PE 2015.2ra migratzera behartu gintuzten. Manifestua berriro idatzi behar izan dugu zerbitzari berrietarako eta 100 nodoko erreserba duen lizentzia erosi behar izan dugu, nahiz eta garai hartan 85 nodo baino ez genituen.

2 urte baino ez dira pasa, eta berriro ere lan handia egin behar izan dugu PE 2016.4 bertsio berrira migratzeko. 300 nodotarako lizentzia erosi genuen, 130 besterik ez. Berriro ere aldaketa handiak egin behar izan genituen manifestuan, hizkuntzaren bertsio berriak 2015eko bertsioaren hizkuntza baino sintaxi ezberdina zuelako. Ondorioz, gure SCM SVN bertsio-kontroletik Bitbucket-era (Git) aldatu zen. Hau izan zen Puppet-ekin dugun "harremana".

Beraz, zuzendaritzari azaldu behar izan genion zergatik joan behar genuen beste SCM batera hurrengo argudioak erabiliz. Lehenengoa zerbitzuaren prezio altua da. RedHat-eko mutilekin hitz egin nuen eta esan zuten Ansible Tower-ekin 300 nodoko sare bat martxan jartzearen kostua Puppet Enterpriseren kostuaren erdia dela. Ansible Engine ere erosten baduzu, kostua gutxi gorabehera berdina izango da, baina PE baino askoz funtzio gehiago lortuko dituzu. Aurrekontu federaletik finantzatutako estatuko enpresa bat garenez, nahiko argudio indartsua da hau.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Bigarren argudioa aldakortasuna da. Puppet-ek Puppet agente bat duen hardwarea soilik onartzen du. Horrek esan nahi du etengailu guztietan agente bat instalatu behar dela eta azken bertsioa izan behar duela. Eta zure etengailuetako batzuek bertsio bat onartzen badute eta beste batzuek beste bat onartzen badute, PE agentearen bertsio berri bat instalatu beharko duzu haietan, guztiak SCM sistema berean lan egin ahal izateko.

Ansible Tower sistemak modu ezberdinean funtzionatzen du, ez duelako agenterik, baina Cisco etengailuak eta gainerako etengailu guztiak onartzen dituzten moduluak ditu. SCM honek Qubes OS, Linux eta 4.NET UTM onartzen ditu. Ansible Tower-ek NexentaStore sareko biltegiratze kontrolagailuak ere onartzen ditu Illumos nukleoan oinarrituta, kode irekiko Unix-en oinarritutako sistema eragilea. Hau oso laguntza gutxi da, baina Ansible Tower-ek hala ere egiten du.

Hirugarren argudioa, bai niretzat eta bai gure administrazioarentzat oso garrantzitsua dena, erabiltzeko erraztasuna da. 10 urte eman nituen Puppet moduluak eta manifest kodea menperatzen, baina aste batean ikasi nuen Ansible, SCM hau askoz errazagoa delako lan egiteko. Fitxategi exekutagarriak exekutatzen badituzu, noski, alferrik egiten ez baduzu behintzat, orduan kudeatzaile adimentsuak eta sentikorrak lan egiten dute haiekin. YAML-n oinarritutako liburuak ikasteko errazak eta erabiltzeko azkarrak dira. Aurretik YAML-ren berri inoiz entzun ez dutenek gidoiak irakurri eta nola funtzionatzen duten erraz uler ditzakete.

Egia esateko, Puppet-ek zure lana garatzaile gisa askoz zailagoa egiten du Puppet Master erabiltzean oinarritzen delako. Puppet agenteekin komunikatzeko baimendutako makina bakarra da. Manifestuan aldaketarik egin baduzu eta zure kodea probatu nahi baduzu, Puppet Master-erako kodea berridatzi behar duzu, hau da, Puppet Master /etc/hosts fitxategia konfiguratu bezero guztiak konektatzeko eta Puppet Server zerbitzua abiarazteko. Horren ondoren bakarrik probatu ahal izango duzu sareko ekipoen funtzionamendua ostalari batean. Prozedura nahiko mingarria da.
Dena askoz errazagoa da Ansible-n. Egin behar duzun guztia SSH bidez komunika daiteke proban dagoen ostalariarekin kodea garatzea da. Hau askoz errazagoa da lan egiteko.

Ansible Tower-en hurrengo abantaila handia lehendik dagoen laguntza-sistema aprobetxatzeko eta zure hardwarearen konfigurazioa mantentzeko gaitasuna da. SCM honek zure azpiegiturari eta hardwareari, makina birtualei, zerbitzariei eta abarri buruzko informazio eskuragarri guztia erabiltzen du urrats gehigarririk gabe. Zure RH Satellite zerbitzariekin hitz egin dezake, baldin baduzu, eta Puppet-ekin inoiz lortuko ez dituzun integrazioak eskaintzen dizkizu.

Beste gauza garrantzitsu bat kontrol zehatza da. Badakizu Puppet sistema modular bat dela, bezero-zerbitzariaren aplikazioa dela, beraz, zure makina guztien alderdiak zehaztu behar dituzu manifestu luze batean. Kasu honetan, sistemaren elementu bakoitzaren egoera ordu erdiro probatu behar da - hau da lehenetsitako epea. Horrela funtzionatzen du Puppet.

Dorreak hortik salbatzen zaitu. Hainbat prozesu exekutatu ditzakezu hainbat ekipotan murrizketarik gabe; oinarrizko lana egin dezakezu, beste prozesu garrantzitsu batzuk exekutatu, segurtasun sistema bat konfiguratu eta datu-baseekin lan egin dezakezu. Puppet Enterprisen zaila den guztia egin dezakezu. Beraz, ostalari batean konfiguratu baduzu, denbora beharko da aldaketak gainerako ostalarietan eragina izateko. Ansible-n, aldaketa guztiak aldi berean izango dira indarrean.

Azkenik, ikus dezagun segurtasun modulua. Ansible Tower-ek modu harrigarrian ezartzen du, zehaztasun eta arreta handiz. Erabiltzaileei zerbitzu zehatzetarako edo ostalari zehatzetarako sarbidea eman diezaiekezu. Windows-en lan egitera ohituta dauden nire langileekin egiten dut, Linux shell-erako sarbidea mugatuz. Dorrerako sarbidea dutela ziurtatzen dut, lanak bakarrik egin ditzaten eta haiei dagozkien zerbitzuak soilik exekutatu ahal izateko.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Ikus ditzagun aurretik Ansible Tower-era trantsizioa errazteko egin behar dituzun gauzak. Lehenik eta behin, zure ekipoak prestatu behar dituzu. Zure azpiegituraren elementu batzuk datu-basean ez badaude, bertan gehitu behar dituzu. Badaude ezaugarriak aldatzen ez dituzten sistemak eta, hortaz, Puppet datu-basean ez daudenak, baina Dorrera joan aurretik bertan gehitzen ez badituzu, hainbat abantaila galduko dituzu. Aurretiazko datu-base "zikina" izan daiteke, baina daukazun ekipamendu guztiari buruzko informazioa eduki behar du. Hori dela eta, azpiegitura-aldaketa guztiak datu-basera automatikoki bultzatuko dituen hardware-script dinamiko bat idatzi beharko zenuke, orduan Ansiblek jakingo du sistema berrian zein ostalari egon behar duten. Ez diozu esan beharko SCM honi zein ostalari gehitu dituzun eta zein ostalari ez dauden jada, hori guztia automatikoki jakingo baitu. Datu-basean zenbat eta datu gehiago egon, orduan eta erabilgarriagoa eta malguagoa izango da Ansible. Datu-base batetik hardwarearen egoera barra-kodea irakurriko balu bezala funtzionatzen du.

Eman denbora pixka bat Ansible-ko komando-lerroa ezagutzen. Exekutatu komando pertsonalizatu batzuk hardware scripta probatzeko, idatzi eta exekutatu playbook script sinple baina erabilgarriak, erabili Jinja2 txantiloiak egokia den tokian. Saiatu rola eta script bat idazten urrats anitzeko prozesu konplexu baterako, ohikoa den hardware-konfigurazio bat erabiliz. Jolastu gauza hauekin, probatu nola funtzionatzen duen. Horrela Tower-en erabiltzen diren liburutegiak sortzeko tresnak nola erabiltzen diren ikasiko duzu. Dagoeneko esan dut 3 hilabete inguru behar izan ditudala trantsizioa prestatzeko. Nire esperientzian oinarrituta, hau azkarrago egin ahal izango duzula uste dut. Ez ezazu denbora hau galdutzat hartu, aurrerago egindako lanaren onura guztiak ezagutuko dituzu eta.

Ondoren, Ansible Tower-etik zer espero duzun erabaki behar duzu, zer egin behar duen sistema honek zuretzat.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Sistema inplementatu behar duzu hardware hutsean, makina birtual hutsetan? Edo lehendik dauden ekipoen jatorrizko funtzionamendu-baldintzak eta ezarpenak mantendu nahi dituzu? Oso alderdi garrantzitsua da enpresa publikoentzat, beraz, ziur egon behar duzu Ansible lehendik duzun konfigurazioan migratu eta zabaldu ahal izango duzula. Identifikatu automatizatu nahi dituzun ohiko administrazio-prozesuak. Ikusi aplikazio eta zerbitzu zehatzak sistema berrian zabaldu behar dituzun. Egin nahi duzunaren zerrenda eta eman lehentasuna.

Ondoren, hasi bete nahi dituzun zereginak gaituko dituzten script kodea eta rolak idazten. Konbinatu Proiektuetan, liburu garrantzitsuen bilduma logiko batean. Proiektu bakoitza Git biltegi ezberdin batekoa edo beste biltegi batekoa izango da, erabiltzen duzun kode-kudeatzailearen arabera. Jolas-liburuen gidoiak eta playbook-en direktorioak kudeatu ditzakezu Tower zerbitzariko Project Base Path-en eskuz jarriz, edo jolas-liburua Tower-ek onartzen duen iturburu-kodearen kudeaketa (SCM) edozein sistematan jarrita, Git, Subversion, Mercurial eta Red Hat barne. Ikuspegiak. Proiektu baten barruan nahi adina script jar ditzakezu. Adibidez, oinarrizko Proiektu bat sortu nuen, eta bertan RedHat oinarrizko elementuetarako script bat jarri nuen, Linux nukleorako script bat eta oinarrizko lerroetarako scriptak. Horrela, proiektu batean Git biltegi batetik kudeatzen ziren hainbat rol eta eszenatoki zeuden.

Gauza hauek guztiak komando-lerroaren bidez exekutatzen diren funtzionaltasuna probatzeko modu ona da. Horrek dorrearen instalaziorako prestatuko zaitu.

Hitz egin dezagun apur bat Puppet manifestua transkodetzeari buruz, denbora asko eman bainuen honetan benetan zer egin behar zen asmatu nuen arte.

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 1. zatia

Lehen esan dudan bezala, Puppet-ek ezarpen eta hardware aukera guztiak manifestu luze batean gordetzen ditu eta manifestu honek SCM honek egin behar duen guztia gordetzen du. Trantsizioa egiterakoan, ez duzu zure zeregin guztiak zerrenda batean bildu behar; horren ordez, pentsatu sistema berriaren egituran: rolak, gidoiak, etiketak, taldeak eta zer joan behar den. Sare autonomoko elementu batzuk taldeetan bildu behar dira, script-ak sortzeko. Baliabide ugari inplikatzen dituzten azpiegitura-elementu konplexuagoak, klase autonomoak barne, roletan konbina daitezke. Migratu aurretik, hau erabaki behar duzu. Pantaila batean sartzen ez diren rol edo agertoki handiak sortzen ari bazara, etiketak erabili behar dituzu azpiegituraren zati zehatzak atzeman ahal izateko.

18:00

Hariak moztea: Puppet Enterprise-tik Ansible Tower-era pasatzea. 2. zatia

Iragarki batzuk πŸ™‚

Eskerrik asko gurekin geratzeagatik. Gustuko dituzu gure artikuluak? Eduki interesgarri gehiago ikusi nahi? Lagun iezaguzu eskaera bat eginez edo lagunei gomendatuz, Garatzaileentzako hodeiko VPS 4.99 $-tik aurrera, sarrera-mailako zerbitzarien analogo paregabea, guk zuretzat asmatu duguna: VPS (KVM) E5-2697 v3 (6 Nukleoak) 10GB DDR4 480GB SSD 1Gbps 19Gbps-ri buruzko egia osoa XNUMX $-tik edo zerbitzari bat nola partekatu? (RAID1 eta RAID10-ekin erabilgarri, 24 nukleoraino eta 40 GB DDR4 arte).

Dell R730xd 2 aldiz merkeagoa Amsterdameko Equinix Tier IV datu-zentroan? Hemen bakarrik 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 telebista 199 $-tik aurrera Herbehereetan! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 $-tik aurrera! Irakurri buruz Nola eraiki azpiegitura korporazioa. klasea Dell R730xd E5-2650 v4 zerbitzarien erabilerarekin 9000 euroko balioa duten zentimo baten truke?

Iturria: www.habr.com

Gehitu iruzkin berria