Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

10.2.3. Stare de sare și alte caracteristici‌


În timp ce execuția de la distanță este un bloc important, este doar o mică parte din ceea ce poate face SaltStack.

Când configurați o mașină nouă, deseori rulați multe comenzi și teste pentru a determina detaliile sistemului înainte de instalare. Aceste operațiuni pot fi formalizate în șabloane de configurare reutilizabile numite dosare de stat. Operațiile descrise în fișierele de stare pot fi apoi efectuate cu un singur stare.aplica comanda sare.

Pentru a economisi ceva timp, vă puteți baza pe multe fișiere de stat gata de utilizare care au fost create de comunitate și care sunt distribuite în „Formulele de sare”:

https://docs.saltstack.com/en/latest/topics/development/conventions/formulas. html

Există multe alte caracteristici care pot fi combinate:

• Execuția programată a acțiunilor

• Definirea acțiunilor ca răspuns la evenimentele declanșate de minioni

• Colectarea datelor de la slujitori

• Orchestrarea unei secvențe de operații în mai mulți minioni

• Aplicarea stărilor prin SSH fără a instala serviciul salt-minion

• Aprovizionarea sistemelor pe infrastructurile cloud și administrarea acestora

• Și altele

SaltStack este destul de vast și nu putem acoperi toate caracteristicile aici. De fapt, există cărți dedicate în întregime lui SaltStack, iar documentația online este, de asemenea, foarte extinsă. Verificați-l dacă doriți să aflați mai multe despre caracteristicile sale:

https://docs.saltstack.com/en/latest/

Dacă gestionați un număr semnificativ de mașini, ar fi bine să aflați mai multe despre SaltStack, deoarece puteți economisi o cantitate semnificativă de timp atunci când instalați mașini noi și veți putea menține o configurație coerentă în întreaga rețea.

Pentru a vă oferi o idee despre cum arată să lucrați cu fișierele de stare, vom acoperi un exemplu simplu: cum să activați depozitul APT și să instalați un pachet pe care îl creați în secțiunea 10.3.3, „Crearea unui depozit de pachete pentru APT” [pagina 269] și secțiunea 10.3.2, „Crearea pachetelor de configurare” [pagina 263]. De asemenea, veți înregistra o cheie SSH în contul root, astfel încât să vă puteți autentifica de la distanță în caz de probleme.

În mod implicit, fișierele de stare sunt stocate în /srv/sare pe maestru; sunt fișiere structurate YAML cu a .sls extensie. La fel ca pentru rularea comenzilor, aplicarea unei stări se bazează pe multe module de stare:

https://docs.saltstack.com/en/latest/topics/tutorials/starting_states.html

https://docs.saltstack.com/en/latest/ref/states/all/

Ta /srv/salt/offsec.sls fișierul va apela trei dintre aceste module:


offsec_repository: pkgrepo.managed:

- nume: deb http://pkgrepo.offsec.com offsec-internal main

- fișier: /etc/apt/sources.list.d/offsec.list

- key_url: salt://offsec-apt-key.asc

- require_in:

- pkg: offsec-defaults


offsec-defaults: pkg.installed


ssh_key_for_root: ssh_auth.present:

- utilizator: root

- nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali

offsec_repository: pkgrepo.managed:

- nume: deb http://pkgrepo.offsec.com offsec-internal main

- fișier: /etc/apt/sources.list.d/offsec.list

- key_url: salt://offsec-apt-key.asc

- require_in:

- pkg: offsec-defaults


offsec-defaults: pkg.installed


ssh_key_for_root: ssh_auth.present:

- utilizator: root

- nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali


offsec_repository statul se bazează pe pkgrepo modul de stare. Exemplul folosește gestionate

funcția din acel modul de stare pentru a înregistra un depozit de pachete. Cu cheie_url atribut, tu

informați saltul că cheia GPG (blindată ASCII) necesară pentru a verifica semnătura depozitului poate fi preluată de la /srv/salt/offsec-apt-key.asc pe maestrul de sare. The cere_in Atributul asigură că această stare este procesată înainte de offsec-implicite, deoarece acesta din urmă are nevoie de depozitul configurat corect pentru a putea instala pachetul.

offsec-implicite state instalează pachetul cu același nume. Acest lucru arată că numele cheii este adesea o valoare importantă pentru state, deși poate fi întotdeauna înlocuit cu un nume atribut (ca și pentru fostul stat). Pentru cazuri simple ca acesta, acesta este atât lizibil, cât și concis.

Ultima stare (ssh_key_for_root) adaugă cheia SSH dată în nume atribuit lui /root/.ssh/ chei_autorizate (utilizatorul țintă este setat în utilizator atribut). Rețineți că am scurtat cheia pentru lizibilitate aici, dar ar trebui să puneți cheia completă în atributul nume.

Acest fișier de stare poate fi aplicat în continuare unui minion dat:


Server# sare kali-scratch state.aplica offsec

kali-scratch:

----------

ID: offsec_repository Funcție: pkgrepo.managed

Nume: deb http://pkgrepo.offsec.com offsec-internal principal Rezultat: Adevărat

Comentariu: pachetul configurat repo 'deb http://pkgrepo.offsec.com offsec-internal

principal'

Început: 06:00:15.767794

Durata: 4707.35 ms Modificări:

----------

repos:

deb http://pkgrepo.offsec.com offsec-internal principal

----------

ID: offsec-defaults Funcție: pkg.installed

Rezultat: Adevărat

Comentariu: Următoarele pachete au fost instalate/actualizate: offsec-defaults Pornit: 06:00:21.325184

Durata: 19246.041 ms Modificări:

----------

offsec-default:

----------

noi:

1.0

vechi:

----------

ID: ssh_key_for_root Funcție: ssh_auth.present

Server# sare kali-scratch state.aplica offsec

kali-scratch:

----------

ID: offsec_repository Funcție: pkgrepo.managed

Nume: deb http://pkgrepo.offsec.com offsec-internal principal Rezultat: Adevărat

Comentariu: pachetul configurat repo 'deb http://pkgrepo.offsec.com offsec-internal

principal'

Început: 06:00:15.767794

Durata: 4707.35 ms Modificări:

----------

repos:

deb http://pkgrepo.offsec.com offsec-internal principal

----------

ID: offsec-defaults Funcție: pkg.installed

Rezultat: Adevărat

Comentariu: Următoarele pachete au fost instalate/actualizate: offsec-defaults Pornit: 06:00:21.325184

Durata: 19246.041 ms Modificări:

----------

offsec-default:

----------

noi:

1.0

vechi:

----------

ID: ssh_key_for_root Funcție: ssh_auth.present


Nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali Rezultat: Adevărat

Comentariu: Cheia gazdă autorizată AAAAB3NzaC1yc2...89C4N pentru utilizator root a fost adăugată Pornire: 06:00:40.582539

Durata: 62.103 ms Modificări:

---------- AAAAB3NzaC1yc2...89C4N:

Nou


Rezumat pentru kali-scratch

------------

Reușite: 3 (modificat=3)

A eșuat: 0

------------

Total state rulate: 3

Timp total de rulare: 24.015 s

Nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali Rezultat: Adevărat

Comentariu: Cheia gazdă autorizată AAAAB3NzaC1yc2...89C4N pentru utilizator root a fost adăugată Pornire: 06:00:40.582539

Durata: 62.103 ms Modificări:

---------- AAAAB3NzaC1yc2...89C4N:

Nou


Rezumat pentru kali-scratch

------------

Reușite: 3 (modificat=3)

A eșuat: 0

------------

Total state rulate: 3

Timp total de rulare: 24.015 s


De asemenea, poate fi asociat permanent minionului prin înregistrarea lui în /srv/salt/top.sls

fișier, care este folosit de stat.stat înalt comandă pentru a aplica toate stările relevante într-o singură trecere:


Server# cat /srv/salt/top.sls

baza:

kali-scratch:

- offsec

Server# sare kali-scratch state.highstate

kali-scratch:

----------

ID: offsec_repository Funcție: pkgrepo.managed

Nume: deb http://pkgrepo.offsec.com offsec-internal principal Rezultat: Adevărat

Comentariu: pachetul repo 'deb http://pkgrepo.offsec.com offsec-internal main' deja

configurat Pornit: 06:06:20.650053

Durata: 62.805 ms Modificări:

----------

ID: offsec-defaults Funcție: pkg.installed

Rezultat: Adevărat

Comentariu: Pachetul offsec-defaults este deja instalat. Început: 06:06:21.436193

Durata: 385.092 ms Modificări:

----------

ID: ssh_key_for_root

Server# cat /srv/salt/top.sls

baza:

kali-scratch:

- offsec

Server# sare kali-scratch state.highstate

kali-scratch:

----------

ID: offsec_repository Funcție: pkgrepo.managed

Nume: deb http://pkgrepo.offsec.com offsec-internal principal Rezultat: Adevărat

Comentariu: pachetul repo 'deb http://pkgrepo.offsec.com offsec-internal main' deja

configurat Pornit: 06:06:20.650053

Durata: 62.805 ms Modificări:

----------

ID: offsec-defaults Funcție: pkg.installed

Rezultat: Adevărat

Comentariu: Pachetul offsec-defaults este deja instalat. Început: 06:06:21.436193

Durata: 385.092 ms Modificări:

----------

ID: ssh_key_for_root


Funcția: ssh_auth.present

Nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali Rezultat: Adevărat

Comentariu: Cheia gazdă autorizată AAAAB3NzaC1yc2...89C4N este deja prezentă pentru

utilizator root

Început: 06:06:21.821811

Durata: 1.936 ms Modificări:


Rezumat pentru kali-scratch

------------

Reusit: 3

A eșuat: 0

------------

Total state rulate: 3

Timp total de rulare: 449.833 ms

Funcția: ssh_auth.present

Nume: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali Rezultat: Adevărat

Comentariu: Cheia gazdă autorizată AAAAB3NzaC1yc2...89C4N este deja prezentă pentru

utilizator root

Început: 06:06:21.821811

Durata: 1.936 ms Modificări:


Rezumat pentru kali-scratch

------------

Reusit: 3

A eșuat: 0

------------

Total state rulate: 3

Timp total de rulare: 449.833 ms


Top OS Cloud Computing la OnWorks: