Packer je výkonný nástroj s otvoreným zdrojovým kódom vyvinutý spoločnosťou HashiCorp, ktorý umožňuje používateľom vytvárať identické obrazy strojov pre viacero platforiem z jednej konfigurácie zdroja. SaltStack, na druhej strane, je robustné riešenie automatizácie a správy infraštruktúry, ktoré umožňuje jednoduchú správu konfigurácie, vzdialené spúšťanie a orchestráciu. V tomto blogovom príspevku vás ako dodávateľ Packer prevediem tým, ako používať Packer so SaltStackom na poskytovanie.
Pochopenie základov
Pred ponorením sa do integrácie je dôležité pochopiť, čo jednotlivé nástroje prinášajú. Packer funguje tak, že vytvára obrazy strojov pre rôzne platformy, ako sú Amazon EC2, Google Compute Engine, VMware a ďalšie. Používa konfiguračný súbor založený na JSON na definovanie procesu zostavovania, vrátane základného obrazu, provizórov a postprocesorov.
SaltStack, tiež známy ako Salt, je vysoko výkonný systém na správu konfigurácie a vzdialené spúšťanie. Dokáže efektívne spravovať servery, desktopy a ďalšie zariadenia. Salt využíva architektúru master - minion, kde master riadi a spravuje viacero minionov.
Predpoklady
Ak chcete postupovať podľa tohto návodu, musíte mať nainštalované nasledovné:
- Packer: Najnovšiu verziu Packer si môžete stiahnuť z oficiálnej webovej stránky HashiCorp.
- SaltStack: Nainštalujte SaltStack na svoj lokálny počítač. Proces inštalácie sa môže líšiť v závislosti od vášho operačného systému. Napríklad na Ubuntu môžete použiť nasledujúce príkazy:
wget -O - https://repo.saltproject.io/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - echo "deb https://repo.saltproject.io/py3/ubuntu/20.04/amd64/latest focal main" | sudo tee /etc/apt/sources.list.d/saltstack.list aktualizácia sudo apt-get sudo apt-get install salt-master salt-minion
Integrácia Packer so SaltStack
Integrácia Packer a SaltStack zahŕňa použitie SaltStack ako provizória v Packer. Tu sú kroky, ako to dosiahnuť:


Krok 1: Vytvorte konfiguračný súbor Packer
Vytvorte nový súbor JSON, napr.packer_salt.json. Tento súbor bude definovať proces zostavovania.
{ "builders": [ { "type": "amazon-ebs", "access_key": "YOUR_AWS_ACCESS_KEY", "secret_key": "YOUR_AWS_SECRET_KEY", "región": "us - západ - 2", "source_ami": "ami - 0c55b159cb29cbcrotype". "ssh_username": "ubuntu", "ami_name": "baliareň - soľ - {{timestamp}}" } ], "provisioners": [ { "type": "salt - masterless", "local_state_tree": "soľ/korene", "local_pillar_roots": "soľ/stĺpik"
Vo vyššie uvedenej konfigurácii:
- The
staviteliačasť definuje typ obrazu stroja, ktorý vytvárame (v tomto prípade obraz Amazon EBS). - The
proviantovčasť špecifikuje, že používamesoľ - bez pánaprovízie. Thelocal_state_treealocal_pillar_rootsukážte na adresáre, kde sú uložené naše stavy a piliere SaltStack.
Krok 2: Nastavte stavy a piliere SaltStack
Vytvortesoľ/koreneasoľ/stĺpadresárov v adresári vášho projektu.
štátov: Stavy v SaltStack definujú požadovaný stav systému. Napríklad vytvorte súborsoľ/korene/top.slss nasledujúcim obsahom:
základ: '*': - apache
Tento súbor povie SaltStacku, aby použilapacheštátu všetkým prisluhovačom. Teraz vytvorte súborsoľ/korene/apache.slsna inštaláciu a spustenie webového servera Apache:
apache: pkg.installed: - name: apache2 service.running: - name: apache2 - enable: True
pilieri: Piliere sa používajú na ukladanie citlivých údajov alebo údajov, ktoré sú špecifické pre konkrétneho miniona. Vytvorte súborsoľ/stĺp/top.sls:
základ: '*': - example_pillar
Asoľ/stĺpik/vzorový_pilier.sls:
example_variable: "Toto je príklad premennej"
Krok 3: Spustite zostavu Packer Build
Spustite nasledujúci príkaz vo svojom termináli a spustite zostavenie Packer:
zostava packer packer_salt.json
Packer vytvorí inštanciu EC2, nainštaluje na ňu SaltStack a použije nami definované stavy a piliere. Po dokončení zostavenia sa vytvorí obraz Amazon Machine Image (AMI), ktorý je nakonfigurovaný s našimi požadovanými nastaveniami.
Výhody používania Packer so SaltStack
- Dôslednosť: Spoločným používaním Packer a SaltStack môžete zabezpečiť, že všetky obrazy vášho počítača budú vytvorené s rovnakou konfiguráciou. To eliminuje problém „funguje na mojom počítači“ a poskytuje konzistentné prostredie na rôznych platformách.
- automatizácia: Celý proces vytvárania a poskytovania obrazov strojov možno automatizovať. To šetrí čas a znižuje riziko ľudskej chyby.
- Škálovateľnosť: Svoju infraštruktúru môžete jednoducho škálovať vytvorením identických obrazov strojov a ich nasadením na viacero serverov.
Ponúkame rôzne typy baličov
Ako dodávateľ baličov ponúkame rôzne baličky pre rôzne aplikácie. Tu sú niektoré z našich obľúbených produktov:
- Balič s elektrickým ponorným čerpadlom: Tento paker je určený na použitie v elektrických systémoch ponorných čerpadiel. Poskytuje spoľahlivé utesnenie a pomáha predchádzať úniku tekutín.
- Ťahanie Frac Packer: Tento paker je ideálny pre operácie štiepenia, odolá vysokým tlakom a ľahko sa inštaluje a odstraňuje.
- Kompresný paker s otvorenými otvormi: Tento pakr je vhodný pre aplikácie s otvorenými otvormi. Používa kompresiu na vytvorenie tesného utesnenia a je vysoko účinný pri prevencii migrácie tekutín.
Kontaktujte nás kvôli obstarávaniu
Ak máte záujem o naše produkty na balenie alebo potrebujete viac informácií o používaní Packer so SaltStack pre vaše potreby poskytovania, odporúčame vám, aby ste nás kontaktovali kvôli diskusii o obstarávaní. Náš tím odborníkov je pripravený pomôcť vám nájsť najlepšie riešenia pre vaše požiadavky.
Referencie
- HashiCorp. (nd). Baliaca dokumentácia. Prevzaté z https://www.packer.io/docs
- Soľný projekt. (nd). Dokumentácia SaltStack. Prevzaté z https://docs.saltproject.io/en/latest/
