Negalima

Lengvai įdiegdami kelis paketus „CentOS“ naudodami „Ansible“

Lengvai įdiegdami kelis paketus „CentOS“ naudodami „Ansible“
Skiltyje „Ansible“ galite naudoti dnf arba yum modulis programinės įrangos paketams įdiegti CentOS arba RHEL kompiuteriuose. Pagal numatytuosius nustatymus šie moduliai įdiegia tik vieną programinės įrangos paketą. Galite naudoti dnf arba yum kelis kartus moduliuokite savo „Ansible playbook“, kad įdiegtumėte tiek programinės įrangos paketų, kiek norite. Nors tai nėra pats efektyviausias būdas tai padaryti, nes bus daug kodo pakartojimų, kurių norėtume išvengti, jei įmanoma. Laimei, mes galime naudoti kilpas, kad lengvai įdiegtume tiek programinės įrangos paketų, kiek norime, be jokio kodo pakartojimo.

Šiame straipsnyje bus parodyta, kaip įdiegti kelis programinės įrangos paketus „CentOS / RHEL“ kompiuteriuose, naudojant „Ansible loop“. Taigi, pradėkime.

Būtinos sąlygos

Jei norite išbandyti šio straipsnio pavyzdžius,
1) Savo kompiuteryje turite būti įdiegę „Ansible“.
2) Jūs turite turėti bent „CentOS / RHEL 7“ arba „8“ pagrindinį kompiuterį, sukonfigūruotą „Ansible Automation“.

„LinuxHint“ yra daug straipsnių, skirtų „Ansible“ diegimui ir kompiuterių konfigūravimui „Ansible“ automatizavimui. Jei reikia, galite tai patikrinti.

Projektų katalogo nustatymas

Prieš judėdami toliau, sukursime projekto katalogą, kad viskas būtų šiek tiek sutvarkyta.

Norėdami sukurti projekto katalogą cento-pkg / ir visus reikalingus pakatalogius (dabartiniame darbo kataloge), vykdykite šią komandą:

$ mkdir -pv centos-pkg / grojaraščiai

Sukūrę projekto katalogą, eikite į projekto katalogą taip:

$ cd cento-pkg /

Tada sukurkite šeimininkai atsargų byla taip:

$ nano šeimininkai

Pridėti pagrindinio kompiuterio IP arba DNS pavadinimą (vm3.nodekitas.com, mano atveju) jūsų „CentOS / RHEL“ kompiuteriai inventoriaus byloje (po vieną pagrindinį kompiuterį eilutėje).

Baigę išsaugokite failą paspausdami + X, paskui Y ir .

Sukurkite Ansible konfigūracijos failą įmanoma.plg savo projekto kataloge taip:

$ nano galima.plg

Tada įveskite šias eilutes įmanoma.plg failą.

[pagal nutylėjimą]
inventorius = šeimininkai
host_key_checking = Netiesa

Kai baigsite, išsaugokite įmanoma.plg failą paspausdami + X, paskui Y ir .

Pabandykite pinguoti visus „CentOS / RHEL“ kompiuterius, kuriuos pridėjote šeimininkai atsargų byla taip:

$ ansible all -u ansible -m ping

Kaip matote, mano „CentOS 8“ kompiuteris yra prieinamas.

Vieno programinės įrangos paketo diegimas

Šiame skyriuje bus parodyta, kaip įdiegti vieną programinės įrangos paketą naudojant dnf arba yum modulio „Ansible“ jūsų CentOS / RHEL kompiuteriuose.

Pirmiausia sukurkite naują pjesę install_package.yaml viduje konors grojaraščiai / katalogą:

„$ nano“ grojaraščiai / install_package.yaml

Tada įveskite šias eilutes install_package.yaml failą.

- šeimininkai: visi
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: įdiekite „httpd“ paketą
DNF:
pavadinimas: httpd
būsena: dabartis
„update_cache“: tiesa

Baigę išsaugokite failą paspausdami + X, paskui Y ir .

Čia pridėjau tik vieną užduotį, Įdiekite „httpd“ paketą. Šios užduoties tikslas yra įdiegti httpd paketas CentOS / RHEL 8.

CentOS / RHEL 7 nenaudoja dnf paketų tvarkyklė, ji naudoja yum paketų tvarkyklė. Taigi, jei naudojate „CentOS / RHEL 7“, pakeiskite dnf į yum, kaip pažymėta toliau pateiktoje ekrano kopijoje. Jokių kitų pakeitimų nereikia.

The vardas parinktis naudojama norint pasakyti dnf arba yum modulio paketo, kurį bandote įdiegti, pavadinimą. Šiuo atveju tai bus httpd pakuotė.

The valstija parinktis naudojama norint pasakyti dnf arba yum moduliuoti veiksmą (t.e. įdiekite, atnaujinkite, pašalinkite) jis turėtų prisiimti nurodytą paketą. Šiuo atveju veiksmas yra pateikti.

Palaikomos valstija yra:

pateikti - įdiegs paketą, jei dar neįdiegtas.

vėliausiai - įdiegs paketą, jei dar neįdiegtas; jei modulis jau įdiegtas, jis tikrins, ar nėra naujinių; jei yra atnaujinta paketo versija, ji įdiegs naują versiją.

nėra - pašalins paketą, jei jis bus įdiegtas.

Jei update_cache parinktis nustatyta į Tiesa, DNF / YUM paketo saugyklos talpykla bus atnaujinta prieš diegiant paketą.

Paleiskite install_package.yaml pjesė:

$ ansible-playbook playbooks / install_package.yaml

Kaip matote, pjesių knygelė install_package.yaml bėgo sėkmingai.

Kaip matote, httpd paketas yra įdiegtas mano „CentOS 8“ pagrindiniame kompiuteryje, kurį pridėjau savo šeimininkai inventoriaus byla.

Įdiegtas $ sudo dnf sąrašas | grep httpd

Jei naudojatės „CentOS / RHEL 7“, naudokite yum paketo tvarkyklė vietoj dnf paketų tvarkyklę, kad patikrintumėte, ar paketas įdiegtas.

Įdiegtas „$ sudo yum“ sąrašas grep httpd

Kelių programinės įrangos paketų diegimas naudojant „with_items“ kilpą

Ankstesniame šio straipsnio skyriuje buvo parodyta, kaip įdiegti vieną programinės įrangos paketą savo „CentOS / RHEL“ pagrindiniame kompiuteryje naudojant „Ansible“ dnf/yum modulis. Šiame skyriuje bus parodyta, kaip įdiegti kelis programinės įrangos paketus savo „CentOS / RHEL“ kompiuteriuose naudodami „Ansible“ with_items kilpa.

Pirmiausia sukurkite naują pjesę install_packages.yaml, taip:

$ nano grojaraščiai / install_packages.yaml

Įveskite šias eilutes install_packages.yaml failą.

- šeimininkai: visi
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: įdiekite visus paketus
DNF:
pavadinimas: „item“
būsena: dabartis
„update_cache“: tiesa
with_items:
httpd
php
vsftpd

Baigę paspauskite + X, paskui Y ir , išsaugoti install_packages.yaml failą.

Čia aš apibrėžiau paketų pavadinimus (httpd, php, vsftpd), kurį noriu įdiegti with_items kilpa.

Pakeičiau paketo pavadinimą kintamuoju elementą. The elementą kintamasis bus atnaujintas paketo pavadinimu kiekvienoje iteracijoje.

Paleiskite install_packages.yaml pjesė:

$ ansible-playbook playbooks / install_packages.yaml

Kaip matote, pjesių knygelė install_packages.yaml bėgo sėkmingai.

The httpd, php, ir vsftpd paketai yra įdiegti mano „CentOS 8“ pagrindiniame kompiuteryje, kaip matote toliau pateiktoje ekrano kopijoje.

Įdiegtas $ sudo dnf sąrašas | grep httpd
Įdiegtas $ sudo dnf sąrašas | grep php
Įdiegtas $ sudo dnf sąrašas | grep vsftpd

Kelių programinės įrangos paketų diegimas naudojant ciklo kilpą

Pradedant nuo „Ansible 2“.5, rekomenduojamas būdas naudoti kilpas savo grojaraštyje yra naudojant kilpa raktinis žodis, o ne with_items raktinis žodis. Štai kodėl pamatėte įspėjamąjį pranešimą, kai paleidžiau install_packages.yaml pjesė ankstesniame šio straipsnio skyriuje.

Darbas su kilpomis naudojant kilpa raktinis žodis yra labai lengvas.

Pirmiausia atidarykite pjesę install_packages.yaml (iš ankstesnio pavyzdžio) taip:

$ nano grojaraščiai / install_packages.yaml

Viduje konors install_packages.yaml pjesė, tiesiog pakeiskite terminą with_items su terminu kilpa, kaip pažymėta toliau pateiktoje ekrano kopijoje. Daugiau nieko keisti nereikia.

Baigę paspauskite + X, paskui Y ir , išsaugoti install_packages.yaml failą.

Paleiskite install_packages.yaml pjesė:

$ ansible-playbook playbooks / install_packages.yaml

Kaip matote, užduotis Įdiekite visus paketus paleido dnf/yum modulis iš viso tris kartus; po vieną kiekvienai kilpai elementą.

The httpd, php, ir vsftpd paketai yra įdiegti mano „CentOS 8“ pagrindiniame kompiuteryje, kaip matote toliau pateiktoje ekrano kopijoje.

Įdiegtas $ sudo dnf sąrašas | grep httpd
Įdiegtas $ sudo dnf sąrašas | grep php
Įdiegtas $ sudo dnf sąrašas | grep vsftpd

Kelių programinės įrangos paketų diegimas naudojant masyvo sintaksę

Ankstesniuose šio straipsnio skyriuose buvo parodyta, kaip naudoti with_items ir kilpa kilpos. Galima įdiegti kelis programinės įrangos paketus „CentOS / RHEL 7“ arba „8“, nekartojant kodo. Šiame skyriuje bus parodyta, kaip tą patį padaryti naudojant paprastesnę masyvo sintaksę.

Pirmiausia atidarykite install_packages.yaml pjesė:

$ nano grojaraščiai / install_packages.yaml

Pasalinti with_items arba kilpa skyrių nuo užduoties ir pakeiskite vardas galimybė ['httpd', 'php', vsftpd '], kaip pažymėta toliau pateiktoje ekrano kopijoje.

Baigę paspauskite + X, paskui Y ir , išsaugoti install_packages.yaml pjesė.

Čia kiekviena cituojama eilutė laužtiniuose skliaustuose ([]) yra masyvo elementas (mano atveju programinės įrangos paketo pavadinimas). Kiekvienas masyvo elementas turėtų būti atskirtas kableliu (,). Galite pridėti tiek masyvo elementų, kiek norėtumėte. Aš pridėjau tik tris elementus, httpd, php, ir vsftpd.

Paleiskite install_packages.yaml pjesė:

$ ansible-playbook playbooks / install_packages.yaml

Kaip matote, programinės įrangos paketai httpd, php, ir vsftpd yra įdiegti mano „CentOS 8“ pagrindiniame kompiuteryje.

Įdiegtas $ sudo dnf sąrašas | grep httpd
Įdiegtas $ sudo dnf sąrašas | grep php
Įdiegtas $ sudo dnf sąrašas | grep vsftpd

Išvada

Šis straipsnis parodė, kaip naudoti with_items ir kilpa kilpos, taip pat masyvo sintaksė su Ansible yum/dnf modulį, kad įdiegtumėte kelis programinės įrangos paketus savo „CentOS / RHEL 7“ arba „8“ kompiuteriuose.

Norėdami gauti daugiau informacijos, patikrinkite galimą oficialų dokumentą.

[1] Oficialus „Ansible loops“ dokumentas
[2] Oficiali „Ansible with_items“ dokumentacija
[3] Oficialūs „Ansible dnf“ modulio dokumentai
[4] Oficialūs „Ansible yum“ modulio dokumentai

Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...
Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...