Cum se instalează Puppet Bolt pentru automatizarea sarcinilor Sysadmin?

Instalarea Puppet Bolt pe Ubuntu …


Păpușă de marionete este un instrument open-source care este utilizat pe scară largă pentru automatizarea lucrărilor manuale.

Bolt se bazează pe Ruby și instrumentul său din linia de comandă care obține scripturi de execuție, comandă pe un server local și de la distanță prin SSH și WinRM. Îl ajută pe Sysadmin să gestioneze mai multe servere în mai multe moduri.

  • Gestionați actualizările
  • Instalarea software-ului
  • Citirea jurnalelor
  • Opriți sau porniți serviciile
  • Executarea comenzii

Vestea bună este că nu este necesar să instalați niciun agent pe servere. Este fără agent.

premisă

Următorul exemplu este pe Ubuntu, astfel încât aveți nevoie de un Ubuntu VM cu acces sudo la root.

Sistem de actualizare

Vă recomandăm să actualizați toate depozitele și pachetele disponibile înainte de a instala orice pachet nou pe sistem. Executați următoarea comandă și va face treaba pentru dvs..

Actualizare sudo apt-get

Instalarea bolțului de marionete

Deoarece este fără agent, nu trebuie să instalați pe fiecare server. În schimb, doar pe un server care va acționa ca un master care poate fi utilizat pentru a vă conecta la serverele la distanță. Bolt este un instrument cu mai multe platforme, astfel încât să puteți instala pe sistemul de operare preferat.

  • ferestre
  • MacOS
  • RHEL
  • CentOS
  • Fedora
  • Debian
  • Ubuntu

Consultați secțiunea site-ul oficial pentru cea mai recentă versiune disponibilă. Haideți să instalăm acest lucru pe Ubuntu.

Rulați următoarea comandă pentru a obține pachetul.

sudo wget https://apt.puppet.com/puppet6-release-bionic.deb

Apoi, instalați pachetul descărcat mai sus folosind comanda Debian pachet manager.

sudo dpkg -i puppet6-release-bionic.deb

Din nou, actualizați sistemul folosind următoarea comandă.

Actualizare sudo apt-get

În cele din urmă, executați următoarea comandă pentru a instala șurubul.

sudo apt-get install puppet-bolt

Tu ai instalat cu succes șurub de marionetă pe serverul tău.

Acest lucru trebuie făcut pe toate serverele pe care doriți să le gestionați prin Bolt.

Așa cum am menționat anterior, Bolt se conectează la un alt server prin cheia SSH, deci presupun că aveți deja schimb de chei între servere. Dacă nu, puteți consulta acest ghid la setarea schimbului de chei SSH.

Ne conectăm la serverele la distanță și rulăm comenzile cu șuruburi.

Pentru a rula o comandă pe un singur nod folosiți următoarea comandă.

rulare comando bolt –node

Înlocuiți COMMAND cu comanda pe care doriți să o executați și NODE cu numele de gazdă sau IP-ul serverului de la distanță. În mod similar, puteți rula și o comandă pe mai multe noduri.

comanda bolțului rulează -n

Dacă este cazul să adăugați autentificare cu parolă la o comandă, atunci o puteți adăuga folosind steagurile.

comandă bolt rulare -n -u -p

Să presupunem că doriți să vedeți cât timp rulează sistemul, atunci va trebui să folosiți comanda „uptime” astfel:

comandă bolt rulare uptime – coduri 35.185.68.71,35.231.9.135

Ar trebui să vedeți următoarea ieșire.

[Email protected]: ~ $ bolt comandă rulare uptime – coduri 35.185.68.71,35.231.9.135
A început pe 35.185.68.71…
A început pe 35.231.9.135…
Finalizat la data de 35.231.9.135:
STDOUT:
04:57:48 până în 7 min, 0 utilizatori, media încărcării: 0.00, 0.03, 0.02
Finalizat la data de 35.185.68.71:
STDOUT:
04:57:48 până la 9 min, 0 utilizatori, media încărcării: 0.00, 0.00, 0.00
Succes pe 2 noduri: 35.185.68.71,35.231.9.135
Operați pe 2 noduri în 5,96 secunde

Este posibil să doriți să rulați o comandă care conține spații, astfel încât va trebui să încercați comanda în ghilimele unice:

[Email protected]: ~ $ bolt comanda rulată ‘ecou $ HOME’ – numerele 35.185.68.71,35.231.9.135
A început pe 35.185.68.71…
A început pe 35.231.9.135…
Finalizat la data de 35.231.9.135:
STDOUT:
/ Home / Sajid
Finalizat la data de 35.185.68.71:
STDOUT:
/ Home / Sajid
Succes pe 2 noduri: 35.185.68.71,35.231.9.135
Operați pe 2 noduri în 6,11 secunde

Scrierea scripturilor

Cu toții avem un set de scripturi pe care le folosim regulat.

Bolt ușurează reutilizarea scripturilor fără nicio modificare și rularea acestora pe mai multe noduri simultan. Tot ce trebuie să faceți este să specificați numele și calea scriptului pe care doriți să îl rulați.

script de șurub rulat –node
script de șurub rulat /home/sajid/Desktop/samplescript.sh – noduri 35.185.68.71,35.231.9.135

Ar trebui să vedeți ieșirea ceva similar cu acesta:

[Email protected]: / $ bolt script run /home/sajid/Desktop/samplescript.sh –node 35.185.68.71,35.231.9.135
A început pe 35.185.68.71…
A început pe 35.231.9.135…
Finalizat la data de 35.231.9.135:
STDOUT:
Salut Lume
Finalizat la data de 35.185.68.71:
STDOUT:
Salut Lume
Succes pe 2 noduri: 35.185.68.71,35.231.9.135
Se rulează pe 2 noduri în 15.18 secunde

Puteți rula scripturi în orice limbă, atâta timp cât este instalat interpretul corespunzător pe sistemul de la distanță.

Automatizarea cu Task

Sarcina este un set de acțiuni pe care doriți să le executați pe mașini la distanță.

Sarcinile pot fi scrise în orice limbă care rulează pe un nod la distanță. Sarcinile facilitează reutilizarea și partajarea scripturilor și vă ajută să obțineți automatizare. Puteți descărca unele sarcini existente din Puppet forge și încărcați sarcinile acolo în funcție de nevoia dvs..

De exemplu, dacă doriți să verificați starea pachetului vim, atunci puteți utiliza următoarea comandă.

pachetul de execuție a pachetului de acțiune pachet = nume de stare = vim – coduri 35.185.68.71,35.231.9.135

Veți vedea ieșirea similară cu aceasta:

[Email protected]: ~ $ bolt task run pachet acțiune = nume stare = vim – numere 35.185.68.71,35.231.9.135
A început pe 35.185.68.71…
A început pe 35.231.9.135…
Finalizat la data de 35.185.68.71:
{
"stare": "instala bine instalat",
"versiune": "2: 7.4.1689-3ubuntu1.3"
}
Finalizat la data de 35.231.9.135:
{
"stare": "instala bine instalat",
"versiune": "2: 7.4.1689-3ubuntu1.3"
}
Succes pe 2 noduri: 35.185.68.71,35.231.9.135
Rulați pe 2 noduri în 19.15 secunde

Dacă nu găsiți pachetul vim instalat, atunci îl puteți instala folosind următoarea comandă.

pachetul de execuție a pachetului de acțiune pachet = nume de instalare = vim – numere 35.185.68.71,35.231.9.135

Puteți rula planul de a configura noduri și de a-l conecta la echilibratorul de sarcină, puteți face acest lucru combinând Păpușă Bolț cu un nod țintă care are deja Bolt instalat.

bolt plan run nodejs :: myplan load_balancer = lb.myorg.com

Puteți utiliza șurubul de marionetă pentru a copia fișierele pe nodurile de la distanță. Puteți încărca pur și simplu fișierul sau directorul în nodul de la distanță folosind comanda „încărcare fișier bolt”. Tot ce trebuie să faceți este să specificați calea fișierului pe mașina locală și destinația pe nodul de la distanță.

încărcarea fișierului bolt –node

Puteți încărca simultan un fișier pe mai multe noduri la distanță:

bolt file upload sample_file.txt /tmp/remotesample_file.txt –node 35.185.68.71,35.231.9.135

O mulțime de posibilități după cum puteți vedea.

Crearea unui fișier Inventar

Bolt vă permite să creați un fișier de inventar care va stoca informații despre nodurile, sarcinile și configurația dvs. Puteți specifica diferite noduri dintr-un grup și fișierul de inventar stocate în mod implicit la inventar.yaml în directorul de proiect. Iată un exemplu de creare a unui fișier de inventar.


# Exemplu de fișier inventar
grupe:
– nume: Grup de noduri
noduri:
– node1
– node2
– node3
config:
ssh:
gazdă-cheie-verificare: fals
ssl: fals

Puteți înlocui aceste noduri 1, node2, node3 cu numele de domeniu al nodului propriu sau adresa IP a nodurilor dvs. Acum puteți adăuga acest fișier de inventar în comenzile bolțului pentru a executa sarcini pe nodurile specificate.

rulare comando bolt –inventoryfile ./inventory.yaml

Concluzie

Sper ca acum să aveți o idee despre ce este Bolt și cum vă poate ajuta automatizarea. Ați putea fi, de asemenea, interesat să aflați despre Marionetă.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map