D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Den National Environmental Satellite Data Information Service (NESDIS) huet seng Konfiguratiounsmanagementkäschte fir Red Hat Enterprise Linux (RHEL) ëm 35% reduzéiert andeems se vun Puppet Enterprise op Ansible Tower migréieren. An dësem "wéi mir et gemaach hunn" Video, erkläert de Systemingenieur Michael Rau de Fall fir dës Migratioun, deelt nëtzlech Tipps a Lektioune geléiert aus der Beweegung vun engem SCM an en anert.

Vun dësem Video léiert Dir:

  • wéi d'Gestioun der Machbarkeet vun Wiessel vun Puppet Enterprise zu Ansible Tower ze justifiéieren;
  • wéi eng Strategien ze benotzen fir den Iwwergang esou glat wéi méiglech ze maachen;
  • Tipps fir transcoding PE Manifestatiounen an Ansible Playbook;
  • Recommandatiounen fir eng optimal Installatioun vun Ansible Tower.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Hallo jiddereen, mäin Numm ass Michael Rau, ech sinn e Senior System Engineer bei ActioNet, dee fir d'National Oceanic and Atmospheric Administration (NOAA) NESDIS Service schafft. Haut wäerte mir iwwer String Trimmen schwätzen - meng eegen Erfahrung vu Migratioun vu Puppet Enterprise op Ansible Tower. D'Thema vun dëser Presentatioun ass "e Bléck op meng Narben" lénks nodeems ech dësen Iwwergank fréier am Joer gemaach hunn. Ech wëll deelen wat ech duerch dëse Prozess geléiert hunn. Also wann Dir sou eppes iwwerhëlt, mat menger Erfahrung, kënnt Dir den Iwwergang ouni extra Aarbecht maachen.

Dir gesitt Rutschen ähnlech wéi dëst am Ufank vun all Presentatioun um Ansible Fest. Dëse Rutsch beschreift d'Geschicht vun der Automatiséierung vu menger Firma. Ech sinn net nei fir dëst well ech Puppet / Puppet Enterprise zënter 2007 benotzt. Ech hunn ugefaang mat Ansible am Joer 2016 ze schaffen, a wéi vill aner Benotzer vun dësem Produkt sinn ech ugezunn vun der Méiglechkeet vun "Tricken" mat der Kommandozeil an einfache Skripte (Playbooks). Um Enn vum 2017 hunn ech meng Gestioun iwwer déi staark Grënn fir op den Ansible Tower ze plënneren. An enger Minutt wäert ech Iech iwwer d'Grënn soen, déi mech gefrot hunn dëse Schrëtt ze huelen. Nodeems ech d'Zoustëmmung vun der Direktioun kritt hunn, huet et e puer méi Méint gedauert fir de Plang ofzeschléissen, an ech hunn den Iwwergang am Januar-Februar vun dësem Joer gemaach. Also, mir hunn Puppet komplett opginn fir Ansible, an et ass eng super Saach.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Wat mech am meeschten iwwer Ansible appelléiert ass d'Fäegkeet Rollen a Spillbicher ze schreiwen an ze benotzen. Rollen si super fir ënnerschiddlech awer verbonne Aufgaben ze kreéieren an all d'Donnéeën am Zesummenhang mat dësen Aufgaben op enger Plaz ze setzen. E Spillbuch ass eng YAML Syntax, Skriptdatei déi Aktiounen fir een oder méi Hosten beschreift. Ech soen de Benotzer iwwer dës Funktiounen, virun allem Software Entwéckler. Ansible Tower gëtt Iech d'Fäegkeet ze soen, "nee, Dir hutt kee Shell Zougang, awer ech ginn Iech d'Fäegkeet all Tower Prozesser auszeféieren an de Service nei ze starten wann Dir et braucht." Ech soen Iech iwwer d'Aarbechtsëmfeld an d'Ausrüstung déi mir benotzen.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Dëst ass e federalen LAN, 7 kierperlech Site verbonne mat Cloud MPLS, 140 RHEL Serveren, 99% vun deenen virtuell (vSphere), SuperMicro Hardware, NexentaStore Netzwierklagerung, eng Rei vu Cisco, Arista a Cumulus Schalter a Fortinet UTM vereenegt Bedrohungsmanagement Tools op all Site.

D'Bundesnetz bedeit datt ech all Informatiounssécherheetsmoossnamen benotze muss vum Gesetz. Dir sollt am Kapp behalen datt Puppet Enterprise net déi meescht Hardware ënnerstëtzt déi mir benotzen. Mir sinn gezwongen Budget Hardware ze benotzen well Regierung Agencen Problemer hunn dës Ausgabeartikel ze finanzéieren. Dofir kafe mir SuperMicro-Hardware a montéieren eis Ausrüstung aus eenzelnen Deeler, deenen d'Ënnerhalt duerch staatlech Kontrakter garantéiert ass. Mir benotzen Linux an dëst ass ee vun de wichtege Grënn fir op Ansible ze wiesselen.

Eis Geschicht mat Puppet ass wéi follegt.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Am Joer 2007 hate mir e klengt Netz vun 20-25 Noden, an deem mir Puppet agesat hunn. Prinzipiell waren dës Node just RedHat "Këschten". Am 2010 hu mir ugefaang d'Puppet Dashboard Web Interface fir 45 Noden ze benotzen. Wéi d'Netzwierk weider ausgebaut huet, si mir op PE 2014 am 3.3 geplënnert, fir e kompletten Iwwergank mat engem manifestéierte Rewrite fir 75 Noden ze maachen. Dëst huet misse gemaach ginn, well Puppet gär d'Spillregelen änneren, an an dësem Fall hunn se d'Sprooch komplett geännert. E Joer méi spéit, wéi d'Ënnerstëtzung fir d'Versioun 3 vun Puppet Enterprise eriwwer ass, ware mir gezwongen op PE 2015.2 ze migréieren. Mir hu missen de Manifest fir déi nei Serveren erëm schreiwen an eng Lizenz mat enger Reserve vun 100 Noden kafen, obwuel mir zu där Zäit nëmmen 85 Noden haten.

Nëmmen 2 Joer si vergaangen, a mir hunn erëm vill Aarbecht misse maachen fir op déi nei Versioun PE 2016.4 ze migréieren. Mir hunn eng Lizenz fir 300 Wirbelen kaaft, déi nëmmen 130 hunn. Mir hunn erëm grouss Ännerungen am Manifest missen maachen, well déi nei Versioun vun der Sprooch eng aner Syntax huet wéi d'Sprooch vun der 2015 Versioun. Als Resultat ass eis SCM vun der SVN Versiounskontroll op Bitbucket (Git) gewiesselt. Dëst war eis "Relatioun" mat Puppet.

Also, ech hu der Gestioun ze erklären firwat mir mussen op eng aner SCM plënneren mat de folgenden Argumenter. Déi éischt ass den héije Präis vum Service. Ech hunn mat de Kärelen um RedHat geschwat a si soten datt d'Käschte fir en 300 Node Netzwierk mat Ansible Tower d'Halschent vun de Käschte vun Puppet Enterprise ze bedreiwen. Wann Dir och Ansible Engine kaaft, wäerten d'Käschte ongeféier d'selwecht sinn, awer Dir kritt vill méi Features wéi PE. Well mir eng staatlech Firma sinn, déi aus dem Bundesbudget finanzéiert gëtt, ass dëst e zimlech mächtegt Argument.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Dat zweet Argument ass Villsäitegkeet. Puppet ënnerstëtzt nëmmen Hardware déi e Puppet Agent huet. Dëst bedeit datt en Agent op all Schalter installéiert muss ginn, an et muss déi lescht Versioun sinn. A wann e puer vun Äre Schalteren eng Versioun ënnerstëtzen, an e puer ënnerstëtzen eng aner, musst Dir eng nei Versioun vum PE Agent op hinnen installéieren, fir datt se all am selwechte SCM-System funktionnéiere kënnen.

Den Ansible Tower System funktionnéiert anescht well et keng Agenten huet, awer et huet Moduler déi Cisco Schalter an all aner Schalter ënnerstëtzen. Dëst SCM ënnerstëtzt Qubes OS, Linux an 4.NET UTM. Ansible Tower ënnerstëtzt och NexentaStore Netzwierkspeicherkontroller baséiert op dem Illumos Kernel, en Open-Source Unix-baséiert Betribssystem. Dëst ass ganz wéineg Ënnerstëtzung, awer den Ansible Tower mécht et iwwerhaapt.

Dat drëtt Argument, dat souwuel fir mech wéi och fir eis Administratioun ganz wichteg ass, ass d'Benotzungsfrëndlechkeet. Ech hunn 10 Joer Puppet Moduler a Manifest Code beherrscht, awer ech hunn Ansible bannent enger Woch geléiert well dësen SCM vill méi einfach ass mat ze schaffen. Wann Dir ausführbar Dateien leeft, natierlech, ausser Dir maacht dat onnéideg, da schaffen intelligent a reaktiounsfäeger Handler mat hinnen. YAML-baséiert Spillbicher sinn einfach ze léieren a séier ze benotzen. Déi, déi nach ni vu YAML héieren hunn, kënnen einfach d'Skripte liesen an einfach verstoen wéi et funktionnéiert.

Fir éierlech ze sinn, Puppet mécht Är Aarbecht als Entwéckler vill méi schwéier, well et baséiert op der Benotzung vu Puppet Master. Et ass déi eenzeg Maschinn erlaabt mat Puppet Agenten ze kommunizéieren. Wann Dir Ännerunge vum Manifest gemaach hutt a wëllt Äre Code testen, musst Dir de Code fir Puppet Master iwwerschreiwe, dat heescht d'Puppet Master /etc/hosts Datei konfiguréieren fir all Clienten ze verbannen an de Puppet Server Service ze starten. Nëmmen duerno kënnt Dir d'Operatioun vun der Netzwierkausrüstung op engem Host testen. Dëst ass eng zimlech schmerzhafte Prozedur.
Alles ass vill méi einfach an Ansible. Alles wat Dir maache musst ass Code fir eng Maschinn z'entwéckelen déi iwwer SSH mam Host ënner Test ka kommunizéieren. Dëst ass vill méi einfach mat ze schaffen.

Den nächste grousse Virdeel vum Ansible Tower ass d'Fäegkeet fir Ären existente Supportsystem ze profitéieren an Är existent Hardwarekonfiguratioun z'erhalen. Dësen SCM benotzt all verfügbar Informatioun iwwer Är Infrastruktur an Hardware, virtuell Maschinnen, Serveren, asw ouni zousätzlech Schrëtt. Et kann mat Äre RH Satellit Server schwätzen, wann Dir een hutt, a gëtt Iech Integratiounen déi Dir ni mat Puppet kritt.

Eng aner wichteg Saach ass detailléiert Kontroll. Dir wësst datt Puppet e modulare System ass, et ass eng Client-Server Applikatioun, also musst Dir déi existent Aspekter vun all Äre Maschinnen an engem laange Manifest definéieren. An dësem Fall muss den Zoustand vun all eenzelnen Element vum System all hallef Stonn getest ginn - dat ass d'Standardperiod. Dëst ass wéi Puppet funktionnéiert.

Tower rett Iech vun deem. Dir kënnt eng Vielfalt vu Prozesser op enger Vielfalt vun Ausrüstung ouni Restriktiounen ausféieren; Dir kënnt Basisaarbecht maachen, aner wichteg Prozesser ausféieren, e Sécherheetssystem opsetzen a mat Datenbanken schaffen. Dir kënnt alles maachen wat schwéier ass an Puppet Enterprise. Also, wann Dir et op engem Host konfiguréiert hutt, dauert et Zäit bis d'Ännerungen op déi verbleiwen Hosten a Kraaft trieden. An Ansible ginn all Ännerungen zur selwechter Zäit a Kraaft.

Schlussendlech kucke mer de Sécherheetsmodul. Ansible Tower implementéiert et einfach erstaunlech, mat grousser Präzisioun a Suergfalt. Dir kënnt de Benotzer Zougang zu spezifesche Servicer oder spezifesch Hosten ginn. Ech maachen dat mat menge Mataarbechter, déi gewinnt sinn op Windows ze schaffen, fir hiren Zougang zu der Linux Shell ze limitéieren. Ech suergen dofir datt se Zougang zum Tower hunn, fir datt se nëmmen d'Aarbecht maache kënnen an nëmmen déi Servicer lafen, déi fir si relevant sinn.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Loosst eis d'Saachen kucken, déi Dir virdru maache musst fir Ären Iwwergank zum Ansible Tower méi einfach ze maachen. Als éischt musst Dir Är Ausrüstung virbereeden. Wann e puer Elementer vun Ärer Infrastruktur net schonn an der Datebank sinn, musst Dir se do addéieren. Et gi Systemer déi hir Charakteristiken net änneren an dofir net an der Puppet-Datebank sinn, awer wann Dir se net do bäidréit ier Dir op Tower geplënnert sidd, wäert Dir eng Rei Virdeeler verléieren. Dëst kann eng "dreckeg", virleefeg Datebank ginn, mä et soll Informatiounen iwwert all Equipement enthalen Dir hutt. Dofir sollt Dir en dynamesche Hardware Skript schreiwen, deen automatesch all Infrastrukturännerungen an d'Datebank dréckt, da weess Ansible wéi eng Hosten um neie System präsent sinn. Dir musst dësem SCM net soen, wéi eng Hosten Dir bäigefüügt hutt a wéi eng Hosten net méi existéieren, well en dat alles automatesch weess. Wat méi Daten an der Datebank sinn, wat méi nëtzlech a flexibel Ansible wäert sinn. Et funktionnéiert wéi wann et einfach den Hardware Status Barcode vun enger Datebank liest.

Verbréngt e puer Zäit mat der Kommandozeil an Ansible vertraut ze ginn. Fëllt e puer personaliséiert Befehle fir d'Hardware-Skript ze testen, schreiwen a lafen e puer einfachen awer nëtzlech Playbook-Skripte, benotzt Jinja2 Templates wou et passend ass. Probéiert eng Roll a Skript ze schreiwen fir e komplexen, Multi-Schrëtt Prozess mat enger gemeinsamer, allgemeng begéint Hardware Konfiguratioun. Spillt mat dëse Saachen, test wéi et funktionnéiert. Op dës Manéier léiert Dir wéi Dir d'Bibliothéik Kreatiounstools benotzt, déi am Tower benotzt ginn. Ech hu scho gesot datt et mech ongeféier 3 Méint gedauert huet fir op den Iwwergang ze preparéieren. Ech mengen, op Basis vu menger Erfahrung, kënnt Dir dëst méi séier maachen. Betruecht dës Zäit net verschwonnen, well spéider wäert Dir all d'Virdeeler vun der Aarbecht erliewen.

Als nächst musst Dir entscheeden wat Dir vum Ansible Tower erwaart, wat genau dëse System fir Iech soll maachen.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Braucht Dir de System op blo Hardware, op bloe virtuelle Maschinnen z'installéieren? Oder wëllt Dir déi ursprénglech Operatiounsbedéngungen an Astellunge vun existéierenden Ausrüstung erhalen? Dëst ass e ganz wichtegen Aspekt fir ëffentlech Firmen, also musst Dir sécher sinn datt Dir fäeg sidd Ansible op Är existent Konfiguratioun ze migréieren an z'installéieren. Identifizéieren routinéiert administrativ Prozesser déi Dir automatiséieren wëllt. Fannt eraus ob Dir spezifesch Uwendungen a Servicer um neie System muss ofsetzen. Maacht eng Lëscht vu wat Dir maache wëllt a prioritär et.

Fänkt dann un Skriptcode a Rollen ze schreiwen, déi d'Aufgaben erlaben, déi Dir plangt ze kompletéieren. Kombinéiert se a Projeten, eng logesch Sammlung vu relevante Spillbicher. All Projet gehéiert zu engem getrennten Git Repository oder engem anere Repository ofhängeg vun deem Code Manager Dir benotzt. Dir kënnt Playbook Scripten a Playbook Verzeichnisser verwalten andeems Dir se manuell am Project Base Path um Tower Server plazéiert, oder andeems Dir d'Playbook an all Quellcode Management (SCM) System setzt deen vum Tower ënnerstëtzt gëtt, dorënner Git, Subversion, Mercurial a Red Hat. Abléck. An engem Projet kënnt Dir esou vill Skripte placéieren wéi Dir wëllt. Zum Beispill hunn ech e Basisprojet erstallt, an deem ech e Skript fir d'RedHat Kärelementer gesat hunn, e Skript fir de Linux Kär, a Skripte fir de Rescht vun de Basics. Also, an engem Projet goufen et eng Vielfalt vu Rollen an Szenarien déi aus engem Git Repository geréiert goufen.

All dës Saachen duerch d'Kommandozeil lafen ass e gudde Wee fir hir Funktionalitéit ze testen. Dëst wäert Iech op d'Tower Installatioun virbereeden.

Loosst eis e bëssen iwwer d'Transcodéierung vum Puppet Manifest schwätzen, well ech vill Zäit dorunner verbruecht hunn bis ech erausfonnt hunn wat eigentlech muss gemaach ginn.

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 1

Wéi ech virdru gesot hunn, späichert Puppet all d'Astellungen an d'Hardwareoptiounen an engem laange Manifest, an dëst Manifest späichert alles wat dëst SCM soll maachen. Wann Dir den Iwwergang maacht, braucht Dir net all Är Aufgaben an eng Lëscht ze kräischen; amplaz, denkt un d'Struktur vum neie System: Rollen, Scripten, Tags, Gruppen a wat soll dohinner goen. E puer vun den autonomen Netzwierkelementer sollen a Gruppen gruppéiert ginn, fir déi Scripte kënne erstallt ginn. Méi komplex Infrastrukturelementer déi eng grouss Zuel vu Ressourcen involvéieren, dorënner selbststänneg Klassen, kënnen a Rollen kombinéiert ginn. Ier Dir migréiert, musst Dir doriwwer entscheeden. Wann Dir grouss Rollen oder Szenarien erstellt, déi net op engem Écran passen, sollt Dir Tags benotzen fir spezifesch Deeler vun der Infrastruktur z'erfaassen.

18:00

D'Threads schneiden: Migréiere vu Puppet Enterprise op Ansible Tower. Deel 2

Puer Annoncen 🙂

Merci datt Dir bei eis bleift. Hutt Dir eis Artikelen gär? Wëllt Dir méi interessant Inhalt gesinn? Ënnerstëtzt eis andeems Dir eng Bestellung maacht oder Frënn empfeelt, Cloud VPS fir Entwéckler vun $ 4.99, en eenzegaartegen Analog vun Entry-Level Serveren, dee vun eis fir Iech erfonnt gouf: Déi ganz Wourecht iwwer VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps vun $19 oder wéi een e Server deelt? (verfügbar mat RAID1 an RAID10, bis zu 24 Kären a bis zu 40GB DDR4).

Dell R730xd 2 Mol méi bëlleg an Equinix Tier IV Daten Zentrum zu Amsterdam? Nëmmen hei 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV vun $199 an Holland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - vun $99! Liest iwwer Wéi bauen ech Infrastructure Corp. Klass mat der Benotzung vun Dell R730xd E5-2650 v4 Serveren Wäert 9000 Euro fir e Penny?

Source: will.com

Setzt e Commentaire