Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Mae'r Gwasanaeth Gwybodaeth Data Lloeren Amgylcheddol Cenedlaethol (NESDIS) wedi lleihau ei gostau rheoli cyfluniad ar gyfer Red Hat Enterprise Linux (RHEL) 35% trwy fudo o Puppet Enterprise i Ansible Tower. Yn y fideo "sut y gwnaethom ni" hwn, mae'r peiriannydd systemau Michael Rau yn esbonio'r achos dros y mudo hwn, gan rannu awgrymiadau defnyddiol a gwersi a ddysgwyd wrth symud o un SCM i'r llall.

O'r fideo hwn byddwch yn dysgu:

  • sut i gyfiawnhau i'r rheolwyr y posibilrwydd o newid o Antur Pypedau i Ansible Tower;
  • pa strategaethau i'w defnyddio i wneud y trawsnewid mor llyfn â phosibl;
  • awgrymiadau ar gyfer trawsgodio amlygiadau PE i Ansible Playbook;
  • Argymhellion ar gyfer gosod Tŵr Ansible yn y ffordd orau bosibl.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Helo bawb, fy enw i yw Michael Rau, rwy'n Uwch Beiriannydd Systemau yn ActioNet, sy'n gweithio i wasanaeth NESDIS Gweinyddiaeth Eigionol ac Atmosfferig Genedlaethol (NOAA). Heddiw byddwn yn sôn am docio tannau - fy mhrofiad fy hun o fudo o Puppet Enterprise i Ansible Tower. Thema’r cyflwyniad hwn yw “edrych ar fy nghreithiau” a adawyd ar ôl i mi wneud y trawsnewid hwn yn gynharach yn y flwyddyn. Rwyf am rannu'r hyn a ddysgais drwy'r broses hon. Felly pan fyddwch chi'n cymryd rhywbeth fel hyn ymlaen, gan ddefnyddio fy mhrofiad i, gallwch chi wneud y trawsnewid heb unrhyw waith ychwanegol.

Rydych chi'n gweld sleidiau tebyg i hwn ar ddechrau pob cyflwyniad yn Ansible Fest. Mae'r sleid hon yn amlinellu hanes awtomeiddio fy nghwmni. Nid wyf yn newydd i hyn oherwydd rwyf wedi bod yn defnyddio Puppet/Puppet Enterprise ers 2007. Dechreuais weithio gydag Ansible yn 2016, ac fel llawer o ddefnyddwyr eraill y cynnyrch hwn, cefais fy nenu gan y posibilrwydd o “driciau” gan ddefnyddio'r llinell orchymyn a sgriptiau syml (llyfrau chwarae). Ar ddiwedd 2017, es i at fy rheolwyr ynghylch y rhesymau cryf dros symud i Ansible Tower. Mewn munud dywedaf wrthych am y rhesymau a'm hysgogodd i gymryd y cam hwn. Ar ôl cael caniatâd y rheolwyr, cymerodd sawl mis arall i gwblhau'r cynllun, a gwnes y trawsnewidiad ym mis Ionawr-Chwefror eleni. Felly, fe wnaethon ni gefnu ar Puppet yn llwyr o blaid Ansible, ac mae'n beth gwych.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Yr hyn sy’n apelio fwyaf ataf am Ansible yw’r gallu i ysgrifennu a defnyddio rolau a llyfrau chwarae. Mae rolau'n wych ar gyfer creu tasgau gwahanol ond cysylltiedig a rhoi'r holl ddata sy'n gysylltiedig â'r tasgau hynny mewn un lle. Mae llyfr chwarae yn gystrawen YAML, ffeil sgript sy'n disgrifio gweithredoedd un neu fwy o westeion. Rwy'n dweud wrth ddefnyddwyr am y nodweddion hyn, yn bennaf datblygwyr meddalwedd. Mae Ansible Tower yn rhoi’r gallu ichi ddweud, “na, nid oes gennych chi fynediad cregyn, ond rwy’n rhoi’r gallu ichi redeg holl brosesau’r Tŵr ac ailgychwyn y gwasanaeth pan fydd ei angen arnoch.” Byddaf yn dweud wrthych am yr amgylchedd gwaith a'r offer a ddefnyddiwn.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Mae hwn yn LAN ffederal, 7 safle ffisegol wedi'u cysylltu trwy MPLS cwmwl, gweinyddwyr 140 RHEL, y mae 99% ohonynt yn rhithwir (vSphere), caledwedd SuperMicro, storfa rhwydwaith NexentaStore, set o switshis Cisco, Arista a Cumulus a rheoli bygythiad unedig Fortinet UTM offer ar bob safle.

Mae'r rhwydwaith ffederal yn golygu bod yn rhaid i mi ddefnyddio'r holl fesurau diogelwch gwybodaeth a ddarperir gan y gyfraith. Dylech gofio nad yw Puppet Enterprise yn cefnogi'r rhan fwyaf o'r caledwedd a ddefnyddiwn. Fe'n gorfodir i ddefnyddio caledwedd cyllideb oherwydd bod asiantaethau'r llywodraeth yn cael problemau wrth ariannu'r eitem hon o draul. Dyna pam rydyn ni'n prynu caledwedd SuperMicro ac yn cydosod ein hoffer o rannau unigol, y mae contractau'r llywodraeth yn gwarantu eu cynnal a'u cadw. Rydym yn defnyddio Linux a dyma un o'r rhesymau pwysig dros newid i Ansible.

Mae ein hanes gyda Phyped fel a ganlyn.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Yn 2007, roedd gennym rwydwaith bach o 20-25 nod, lle buom yn defnyddio Pyped. Yn y bôn, dim ond “blychau” RedHat oedd y nodau hyn. Yn 2010, dechreuon ni ddefnyddio rhyngwyneb gwe'r Dangosfwrdd Pypedau ar gyfer 45 nod. Wrth i'r rhwydwaith barhau i ehangu, symudom i PE 2014 yn 3.3, gan wneud trawsnewidiad llwyr gydag ailysgrifennu amlwg ar gyfer 75 nod. Roedd yn rhaid gwneud hyn oherwydd mae Puppet yn hoffi newid rheolau'r gêm, ac yn yr achos yma fe wnaethon nhw newid yr iaith yn llwyr. Flwyddyn yn ddiweddarach, pan ddaeth cefnogaeth i fersiwn 3 o Puppet Enterprise i ben, fe'n gorfodwyd i fudo i PE 2015.2. Roedd yn rhaid i ni ailysgrifennu'r maniffest eto ar gyfer y gweinyddion newydd a phrynu trwydded gyda chronfa wrth gefn o 100 nod, er mai dim ond 85 nod oedd gennym ar y pryd.

Dim ond 2 flynedd sydd wedi mynd heibio, a bu'n rhaid i ni eto wneud llawer o waith i fudo i fersiwn newydd PE 2016.4. Fe brynon ni drwydded ar gyfer 300 nod, gyda dim ond 130. Roedd yn rhaid i ni eto wneud newidiadau mawr i'r maniffest oherwydd bod gan y fersiwn newydd o'r iaith gystrawen wahanol i iaith fersiwn 2015. O ganlyniad, newidiodd ein SCM o reolaeth fersiwn SVN i Bitbucket (Git). Dyma oedd ein “perthynas” gyda Phyped.

Felly, roedd yn rhaid i mi esbonio i'r rheolwyr pam yr oedd angen inni symud i SCM gwahanol gan ddefnyddio'r dadleuon a ganlyn. Y cyntaf yw pris uchel y gwasanaeth. Siaradais â’r bechgyn yn RedHat a dywedasant fod y gost o redeg rhwydwaith 300 nod gydag Ansible Tower yn hanner cost Puppet Enterprise. Os byddwch hefyd yn prynu Ansible Engine, bydd y gost tua'r un peth, ond fe gewch lawer mwy o nodweddion nag AG. Gan ein bod yn gwmni sy'n eiddo i'r wladwriaeth a ariennir o'r gyllideb ffederal, mae hon yn ddadl eithaf pwerus.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Amlochredd yw'r ail ddadl. Dim ond caledwedd sydd ag asiant Pyped y mae pyped yn ei gynnal. Mae hyn yn golygu bod yn rhaid gosod asiant ar bob switsh, a rhaid mai dyma'r fersiwn ddiweddaraf. Ac os yw rhai o'ch switshis yn cefnogi un fersiwn, a rhai yn cefnogi un arall, bydd angen i chi osod fersiwn newydd o'r asiant AG arnynt fel y gallant i gyd weithio yn yr un system SCM.

Mae system Ansible Tower yn gweithio'n wahanol oherwydd nid oes ganddi unrhyw asiantau, ond mae ganddi fodiwlau sy'n cefnogi switshis Cisco a phob switsh arall. Mae'r SCM hwn yn cefnogi Qubes OS, Linux a 4.NET UTM. Mae Ansible Tower hefyd yn cefnogi rheolwyr storio rhwydwaith NexentaStore yn seiliedig ar gnewyllyn Illumos, system weithredu ffynhonnell agored sy'n seiliedig ar Unix. Ychydig iawn o gefnogaeth yw hyn, ond mae Ansible Tower yn ei wneud beth bynnag.

Y drydedd ddadl, sy'n bwysig iawn i mi ac i'n gweinyddiaeth, yw rhwyddineb defnydd. Treuliais 10 mlynedd yn meistroli modiwlau Pypedau a chod maniffest, ond dysgais Ansible o fewn wythnos oherwydd mae'r SCM hwn yn llawer haws gweithio ag ef. Os ydych chi'n rhedeg ffeiliau gweithredadwy, wrth gwrs, oni bai eich bod chi'n gwneud hynny'n ddiangen, yna mae trinwyr deallus ac ymatebol yn gweithio gyda nhw. Mae llyfrau chwarae YAML yn hawdd i'w dysgu ac yn gyflym i'w defnyddio. Gall y rhai nad ydynt erioed wedi clywed am YAML o'r blaen ddarllen y sgriptiau a deall yn hawdd sut mae'n gweithio.

I fod yn onest, mae Puppet yn gwneud eich swydd fel datblygwr yn llawer anoddach oherwydd ei fod yn seiliedig ar ddefnyddio Puppet Master. Dyma'r unig beiriant a ganiateir i gyfathrebu ag asiantau Pypedau. Os ydych chi wedi gwneud unrhyw newidiadau i'r maniffest ac eisiau profi'ch cod, rhaid i chi ailysgrifennu'r cod ar gyfer Puppet Master, hynny yw, ffurfweddu'r ffeil Puppet Master /etc/hosts i gysylltu pob cleient a chychwyn y gwasanaeth Gweinydd Pypedau. Dim ond ar ôl hyn y byddwch chi'n gallu profi gweithrediad offer rhwydwaith ar un gwesteiwr. Mae hon yn weithdrefn eithaf poenus.
Mae popeth yn llawer symlach yn Ansible. Y cyfan sydd angen i chi ei wneud yw datblygu cod ar gyfer peiriant a all gyfathrebu trwy SSH gyda'r gwesteiwr dan brawf. Mae hyn yn llawer haws gweithio ag ef.

Mantais fawr nesaf Ansible Tower yw'r gallu i drosoli'ch system gymorth bresennol a chynnal eich cyfluniad caledwedd presennol. Mae'r SCM hwn yn defnyddio'r holl wybodaeth sydd ar gael am eich seilwaith a chaledwedd, peiriannau rhithwir, gweinyddwyr, ac ati heb unrhyw gamau ychwanegol. Gall siarad â'ch gweinyddwyr Lloeren RH, os oes gennych chi un, ac mae'n rhoi integreiddiadau na fyddwch chi byth yn eu cael gyda Phuppet.

Peth pwysig arall yw rheolaeth fanwl. Rydych chi'n gwybod bod Puppet yn system fodiwlaidd, mae'n gymhwysiad cleient-gweinydd, felly mae'n rhaid i chi ddiffinio'r agweddau presennol ar eich holl beiriannau mewn un maniffest hir. Yn yr achos hwn, rhaid profi cyflwr pob elfen unigol o'r system bob hanner awr - dyma'r cyfnod rhagosodedig. Dyma sut mae Pyped yn gweithio.

Mae Tower yn eich arbed rhag hynny. Gallwch redeg amrywiaeth o brosesau ar amrywiaeth o offer heb gyfyngiadau; gallwch wneud gwaith sylfaenol, rhedeg prosesau pwysig eraill, sefydlu system ddiogelwch, a gweithio gyda chronfeydd data. Gallwch chi wneud popeth sy'n anodd mewn Puppet Enterprise. Felly, os gwnaethoch ei ffurfweddu ar un gwesteiwr, bydd yn cymryd amser i'r newidiadau ddod i rym ar y gwesteiwyr sy'n weddill. Yn Ansible, mae pob newid yn dod i rym ar yr un pryd.

Yn olaf, gadewch i ni edrych ar y modiwl diogelwch. Mae Ansible Tower yn ei roi ar waith yn rhyfeddol, gyda manwl gywirdeb a gofal mawr. Gallwch roi mynediad i ddefnyddwyr i wasanaethau penodol neu i westeion penodol. Rwy'n gwneud hyn gyda fy ngweithwyr sydd wedi arfer gweithio ar Windows, gan gyfyngu ar eu mynediad i'r gragen Linux. Rwy’n sicrhau bod ganddynt fynediad i Tower fel mai dim ond y gwaith y gallant ei wneud a rhedeg y gwasanaethau sy’n berthnasol iddynt hwy yn unig.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Gadewch i ni edrych ar y pethau sydd angen i chi eu gwneud o flaen llaw i wneud eich trosglwyddiad i Ansible Tower yn haws. Yn gyntaf oll, mae angen i chi baratoi eich offer. Os nad yw rhai elfennau o'ch seilwaith eisoes yn y gronfa ddata, mae angen ichi eu hychwanegu yno. Mae yna systemau nad ydynt yn newid eu nodweddion ac felly nad ydynt yn y gronfa ddata Pypedau, ond os na fyddwch yn eu hychwanegu yno cyn symud i Tower, byddwch yn colli nifer o fanteision. Gall hon fod yn gronfa ddata ragarweiniol “fudr”, ond dylai gynnwys gwybodaeth am yr holl offer sydd gennych. Felly, dylech ysgrifennu sgript caledwedd deinamig a fydd yn gwthio'r holl newidiadau seilwaith i'r gronfa ddata yn awtomatig, yna bydd Ansible yn gwybod pa westeion ddylai fod yn bresennol ar y system newydd. Ni fydd angen i chi ddweud wrth y SCM hwn pa westeion a ychwanegwyd gennych a pha westeion nad ydynt yn bodoli mwyach, oherwydd bydd yn gwybod hyn i gyd yn awtomatig. Po fwyaf o ddata sydd yn y gronfa ddata, y mwyaf defnyddiol a hyblyg fydd Ansible. Mae'n gweithio fel pe bai'n darllen y cod bar statws caledwedd o gronfa ddata.

Treuliwch beth amser yn ymgyfarwyddo â'r llinell orchymyn yn Ansible. Rhedeg rhai gorchmynion arferiad i brofi'r sgript caledwedd, ysgrifennu a rhedeg rhai sgriptiau llyfr chwarae syml ond defnyddiol, defnyddio templedi Jinja2 lle bo'n briodol. Ceisiwch ysgrifennu rôl a sgript ar gyfer proses gymhleth, aml-gam gan ddefnyddio cyfluniad caledwedd cyffredin, cyffredin. Chwarae gyda'r pethau hyn, profi sut mae'n gweithio. Fel hyn byddwch yn dysgu sut i ddefnyddio'r offer creu llyfrgell a ddefnyddir yn Tower. Rwyf eisoes wedi dweud iddi gymryd tua 3 mis i mi baratoi ar gyfer y cyfnod pontio. Rwy'n credu, yn seiliedig ar fy mhrofiad, y byddwch chi'n gallu gwneud hyn yn gyflymach. Peidiwch ag ystyried yr amser hwn yn wastraff, oherwydd yn ddiweddarach byddwch yn profi holl fanteision y gwaith a wneir.

Nesaf, mae angen i chi benderfynu beth rydych chi'n ei ddisgwyl gan Ansible Tower, beth yn union ddylai'r system hon ei wneud i chi.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

A oes angen i chi ddefnyddio'r system ar galedwedd noeth, ar beiriannau rhithwir noeth? Neu a ydych chi am gynnal amodau gweithredu gwreiddiol a gosodiadau offer presennol? Mae hon yn agwedd bwysig iawn i gwmnïau cyhoeddus, felly mae angen i chi fod yn siŵr y byddwch yn gallu mudo a defnyddio Ansible ar eich ffurfwedd bresennol. Nodi prosesau gweinyddol arferol yr ydych am eu hawtomeiddio. Darganfyddwch a oes angen i chi ddefnyddio cymwysiadau a gwasanaethau penodol ar y system newydd. Gwnewch restr o'r hyn rydych am ei wneud a'i flaenoriaethu.

Yna dechreuwch ysgrifennu cod sgript a rolau a fydd yn galluogi'r tasgau rydych chi'n bwriadu eu cwblhau. Cyfunwch nhw yn Brosiectau, sef casgliad rhesymegol o lyfrau chwarae perthnasol. Bydd pob Prosiect yn perthyn i ystorfa Git ar wahân neu ystorfa wahanol yn dibynnu ar ba reolwr cod rydych chi'n ei ddefnyddio. Gallwch reoli sgriptiau llyfrau chwarae a chyfeiriaduron llyfrau chwarae trwy eu gosod â llaw yn y Llwybr Sylfaen Prosiect ar weinydd y Tŵr, neu trwy osod y llyfr chwarae mewn unrhyw system rheoli cod ffynhonnell (SCM) a gefnogir gan Tower, gan gynnwys Git, Subversion, Mercurial, a Red Hat Mewnwelediadau. O fewn un Prosiect gallwch osod cymaint o sgriptiau ag y dymunwch. Er enghraifft, creais un Prosiect sylfaenol lle gosodais sgript ar gyfer elfennau craidd RedHat, sgript ar gyfer craidd Linux, a sgriptiau ar gyfer gweddill y llinellau sylfaen. Felly, mewn un prosiect roedd amrywiaeth o rolau a senarios a oedd yn cael eu rheoli o un ystorfa Git.

Mae rhedeg yr holl bethau hyn trwy'r llinell orchymyn yn ffordd dda o brofi eu gweithrediad. Bydd hyn yn eich paratoi ar gyfer gosod y Tŵr.

Gadewch i ni siarad ychydig am drawsgodio maniffest y Pypedau, oherwydd treuliais lawer o amser ar hyn nes i mi ddarganfod beth oedd angen ei wneud mewn gwirionedd.

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 1

Fel y dywedais o'r blaen, mae Puppet yn storio'r holl osodiadau a'r opsiynau caledwedd mewn un maniffest hir, ac mae'r maniffest hwn yn storio popeth y dylai'r SCM hwn ei wneud. Wrth wneud y trawsnewid, nid oes angen i chi gyfuno eich holl dasgau yn un rhestr; yn lle hynny, meddyliwch am strwythur y system newydd: rolau, sgriptiau, tagiau, grwpiau a beth ddylai fynd yno. Dylid grwpio rhai o'r elfennau rhwydwaith ymreolaethol yn grwpiau y gellir creu sgriptiau ar eu cyfer. Gellir cyfuno elfennau seilwaith mwy cymhleth sy'n cynnwys nifer fawr o adnoddau, gan gynnwys dosbarthiadau hunangynhwysol, yn rolau. Cyn mudo, mae angen i chi benderfynu ar hyn. Os ydych chi'n creu rolau neu senarios mawr nad ydyn nhw'n ffitio ar un sgrin, dylech chi ddefnyddio tagiau i allu dal rhannau penodol o'r seilwaith.

18:00

Torri'r edafedd: mudo o Puppet Enterprise i Ansible Tower. Rhan 2

Rhai hysbysebion 🙂

Diolch am aros gyda ni. Ydych chi'n hoffi ein herthyglau? Eisiau gweld cynnwys mwy diddorol? Cefnogwch ni trwy osod archeb neu argymell i ffrindiau, cwmwl VPS i ddatblygwyr o $4.99, analog unigryw o weinyddion lefel mynediad, a ddyfeisiwyd gennym ni ar eich cyfer chi: Y gwir i gyd am VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps o $ 19 neu sut i rannu gweinydd? (ar gael gyda RAID1 a RAID10, hyd at 24 craidd a hyd at 40GB DDR4).

Dell R730xd 2 gwaith yn rhatach yng nghanolfan ddata Equinix Haen IV yn Amsterdam? Dim ond yma 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV o $199 yn yr Iseldiroedd! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - o $99! Darllenwch am Sut i adeiladu seilwaith Corp. dosbarth gyda'r defnydd o weinyddion Dell R730xd E5-2650 v4 gwerth 9000 ewro am geiniog?

Ffynhonnell: hab.com

Ychwanegu sylw