Odgovorno

Preprosta namestitev več paketov na CentOS z uporabo programa Ansible

Preprosta namestitev več paketov na CentOS z uporabo programa Ansible
V programu Ansible lahko uporabite dnf ali njam modul za namestitev programskih paketov na gostitelje CentOS ali RHEL. Ti moduli privzeto namestijo samo en programski paket. Lahko uporabite dnf ali njam večkrat modulirajte v knjigo Ansible, da namestite toliko programskih paketov, kot želite. Vendar to ni najučinkovitejši način, saj se bo veliko ponavljanja kode, ki bi se ji radi izognili, če je le mogoče. Na srečo lahko z zankami enostavno namestimo toliko programskih paketov, kot želimo, brez ponavljanja kode.

Ta članek vam bo pokazal, kako namestite več programskih paketov na gostitelje CentOS / RHEL z uporabo zanke Ansible. Torej, začnimo.

Pogoji

Če želite preizkusiti primere v tem članku,
1) V računalniku mora biti nameščen Ansible.
2) Za Ansible avtomatizacijo morate imeti konfiguriran vsaj gostitelj CentOS / RHEL 7 ali 8.

V LinuxHintu je veliko člankov, namenjenih namestitvi programa Ansible in konfiguriranju gostiteljev za avtomatizacijo Ansible. Po potrebi jih lahko preverite.

Nastavitev imenika projektov

Pred nadaljnjim premikanjem bomo ustvarili imenik projektov, da bomo stvari malo organizirali.

Če želite ustvariti imenik projekta centos-pkg / in vse zahtevane podimenike (v trenutnem delovnem imeniku) zaženite naslednji ukaz:

$ mkdir -pv centos-pkg / playbooks

Ko je imenik projekta ustvarjen, se pomaknite do imenika projekta, kot sledi:

$ cd centos-pkg /

Nato ustvarite datoteko gostitelji inventarna datoteka, kot sledi:

$ nano gostitelji

Dodajte ime gostitelja IP ali DNS (vm3.nodekite.com, v mojem primeru) vaših CentOS / RHEL gostiteljev v inventarni datoteki (en gostitelj na vrstico).

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Ustvarite konfiguracijsko datoteko Ansible ansible.prim v imeniku vašega projekta, kot sledi:

$ nano ansible.prim

Nato v vrstico vnesite naslednje vrstice ansible.prim mapa.

[privzeto]
inventar = gostitelji
host_key_checking = False

Ko končate, shranite ansible.prim s pritiskom na + X, čemur sledi Y in .

Poskusite pingati vse gostitelje CentOS / RHEL, ki ste jih dodali v svoj gostitelji inventarna datoteka, kot sledi:

$ ansible vse -u ansible -m ping

Kot lahko vidite, je moj gostitelj CentOS 8 dostopen.

Namestitev enega programskega paketa

Ta razdelek vam bo pokazal, kako namestite posamezen programski paket s pomočjo dnf ali njam modul Ansible na vaših gostiteljih CentOS / RHEL.

Najprej ustvarite novo igro install_package.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / install_package.yaml

Nato v vrstico vnesite naslednje vrstice install_package.yaml mapa.

- gostitelji: vsi
uporabnik: ansible
postati: Resnično
naloge:
- ime: Namestite paket httpd
dnf:
ime: httpd
stanje: prisotno
update_cache: True

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Tu sem dodal samo eno nalogo, Namestite paket httpd. Namen te naloge je namestiti httpd paket na CentOS / RHEL 8.

CentOS / RHEL 7 ne uporablja dnf upravitelj paketov, uporablja njam upravitelj paketov. Torej, če uporabljate CentOS / RHEL 7, spremenite dnf do njam, kot je označeno na spodnjem posnetku zaslona. Druge spremembe niso potrebne.

The ime možnost se uporablja za sporočanje dnf ali njam modul ime paketa, ki ga želite namestiti. V tem primeru bo to httpd paket.

The država možnost se uporablja za sporočanje dnf ali njam modul ukrepa (tj.e. namestite, nadgradite, odstranite), naj prevzame dani paket. V tem primeru je dejanje prisoten.

Podprte vrednosti država možnosti so:

prisoten - bo namestil paket, če še ni nameščen.

najnovejši - bo namestil paket, če še ni nameščen; če je modul že nameščen, bo preveril posodobitve; če je na voljo posodobljena različica paketa, bo namestil novo različico.

odsoten - bo odstranil paket, če je nameščen.

Če je update_cache možnost nastavljena na Prav, predpomnilnik skladišča paketov DNF / YUM bo posodobljen, preden bo paket nameščen.

Zaženite install_package.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_package.yaml

Kot lahko vidite, knjigo iger install_package.yaml uspešno tekel.

Kot lahko vidite, httpd paket je nameščen na mojem gostitelju CentOS 8, ki sem ga dodal na svoj gostitelji inventarna datoteka.

Nameščen seznam $ sudo dnf | grep httpd

Če uporabljate CentOS / RHEL 7, uporabite njam namesto dnf upravitelja paketov, da preveri, ali je paket nameščen.

nameščen seznam $ sudo yum | grep httpd

Namestitev več programskih paketov z uporabo zanke with_items

Prejšnji odsek tega članka vam je pokazal, kako na gostitelju CentOS / RHEL namestite en programski paket s pomočjo programa Ansible dnf/njam modul. Ta razdelek vam bo pokazal, kako namestite več programskih paketov na vaše CentOS / RHEL gostitelje z uporabo programa Ansible with_items zanko.

Najprej ustvarite novo igro install_packages.yaml, kot sledi:

$ nano playbooks / install_packages.yaml

V vrstico vnesite naslednje vrstice install_packages.yaml mapa.

- gostitelji: vsi
uporabnik: ansible
postati: Resnično
naloge:
- ime: Namestite vse pakete
dnf:
ime: 'item'
stanje: prisotno
update_cache: True
with_items:
httpd
php
vsftpd

Ko končate, pritisnite + X, čemur sledi Y in , shraniti install_packages.yaml mapa.

Tukaj sem določil imena paketov (httpd, php, vsftpd), ki ga želim namestiti z uporabo with_items zanko.

Ime paketa sem zamenjal s spremenljivko element. The element spremenljivka bo posodobljena z imenom paketa v vsaki ponovitvi.

Zaženite install_packages.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_packages.yaml

Kot lahko vidite, knjigo iger install_packages.yaml uspešno tekel.

The httpd, php, in vsftpd Paketi so nameščeni na mojem gostitelju CentOS 8, kot lahko vidite na spodnjem posnetku zaslona.

Nameščen seznam $ sudo dnf | grep httpd
nameščen seznam $ sudo dnf | grep php
Nameščen seznam $ sudo dnf | grep vsftpd

Namestitev več programskih paketov z uporabo zanke zanke

Začenši z Ansible 2.5, priporočljiv način uporabe zank v vaši knjigi iger je uporaba zanko , namesto with_items ključna beseda. Zato ste ob zagonu programa videli opozorilno sporočilo install_packages.yaml playbook v prejšnjem oddelku tega članka.

Delo z zankami z uporabo zanko ključna beseda je zelo enostavna.

Najprej odprite knjigo iger install_packages.yaml (iz prejšnjega primera), kot sledi:

$ nano playbooks / install_packages.yaml

V install_packages.yaml playbook, samo zamenjajte izraz with_items z izrazom zanko, kot je označeno na spodnjem posnetku zaslona. Ničesar drugega vam ni treba spreminjati.

Ko končate, pritisnite + X, čemur sledi Y in , shraniti install_packages.yaml mapa.

Zaženite install_packages.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_packages.yaml

Kot vidite, naloga Namestite vse pakete vodil dnf/njam modul skupaj trikrat; enkrat za vsako zanko element.

The httpd, php, in vsftpd Paketi so nameščeni na mojem gostitelju CentOS 8, kot lahko vidite na spodnjem posnetku zaslona.

Nameščen seznam $ sudo dnf | grep httpd
nameščen seznam $ sudo dnf | grep php
Nameščen seznam $ sudo dnf | grep vsftpd

Namestitev več programskih paketov z uporabo Array Syntax

Prejšnji odseki tega članka so vam pokazali, kako uporabljati with_items in zanko zanke v programu Ansible za namestitev več programskih paketov na CentOS / RHEL 7 ali 8, brez ponovitve kode. Ta razdelek vam bo pokazal, kako narediti isto s preprostejšo sintakso matrike.

Najprej odprite install_packages.yaml playbook, kot sledi:

$ nano playbooks / install_packages.yaml

Odstranite with_items ali zanko odsek iz naloge in spremenite ime možnost ['httpd', 'php', vsftpd '], kot je označeno na spodnjem posnetku zaslona.

Ko končate, pritisnite + X, čemur sledi Y in , shraniti install_packages.yaml knjigo iger.

Tu je vsak naveden niz znotraj oglatih oklepajev ([]) je element polja (v mojem primeru ime programskega paketa). Vsak element matrike mora biti ločen z vejico (,). Dodate lahko toliko elementov matrike, kot želite. Dodal sem le tri elemente, httpd, php, in vsftpd.

Zaženite install_packages.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_packages.yaml

Kot lahko vidite, programski paketi httpd, php, in vsftpd so nameščeni na mojem gostitelju CentOS 8.

Nameščen seznam $ sudo dnf | grep httpd
Nameščen seznam $ sudo dnf | grep php
nameščen seznam $ sudo dnf | grep vsftpd

Zaključek

Ta članek vam je pokazal, kako uporabljati with_items in zanko zanke, kot tudi sintaksa matrike, z Ansible njam/dnf modul za namestitev več programskih paketov na vaše CentOS / RHEL 7 ali 8 gostitelje.

Za več informacij glejte uradno dokumentacijo Ansible.

[1] Uradna dokumentacija zank Ansible
[2] Uradna dokumentacija Ansible with_items
[3] Uradna dokumentacija modula Ansible dnf
[4] Uradna dokumentacija modula Ansible yum

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...