Mitä on automatisoinnin ja konfiguroinnin hallinta CHEFin avulla – Osa 1


Otetaan yksinkertainen skenaario, sinulla on 10 redhat-palvelinta, joissa sinun on luotava "tecmint"-käyttäjä kaikkiin palvelimiin. Suora lähestymistapa on, että sinun on kirjauduttava jokaiseen palvelimeen ja luotava käyttäjä useradd-komennolla. Kun palvelimet ovat 100s tai 1000s, kirjautuminen kaikkiin palvelimiin yksitellen ei ole käytännössä mahdollista.

Tässä ensimmäinen asia, joka tulee mieleemme tällaisissa tapauksissa, on kirjoittaa skripti ja antaa komentosarjan suorittaa suoritus palvelimilla, se on todistettu lähestymistapa. Komentosarjalla on omat haittansa, vaikka sitä käytetään laajasti organisaatioissa, mutta sitä on vaikea ylläpitää, jos komentosarjan omistaja lähtee organisaatiosta.

Käsikirjoitus ei toimi heterogeenisessä ympäristössä. Komentosarja on pakollinen menetelmä tehtävän suorittamiseen, jolloin sinun on kirjoitettava pitkä koodi yksinkertaista tehtävää varten jne. Tämä tilanne vaatii meidän etsimään automaatio- ja konfiguraatiohallintatyökaluja, kuten kokki.

Tässä Chefiä käsittelevässä artikkelisarjassa käsittelemme Chef Automation -työkalun asennus- ja konfigurointimenettelyjä osien 1–3 kautta, ja se kattaa seuraavat aiheet.

Tämä opetusohjelma tarjoaa lähtökohdan Chefin toiminnasta, automaatiosta, määritysten hallinnasta, arkkitehtuurista ja Chefin komponenteista.

1. Kokoonpanon hallinta

Määritysten hallinta on DevOps -käytännön keskeinen painopiste. Ohjelmistokehityssyklissä kaikkien palvelinten tulee olla ohjelmistokonfiguroituja ja niitä on ylläpidettävä hyvin siten, että ne eivät saisi katkaista kehityssykliä. Huono kokoonpano Hallinta voi aiheuttaa järjestelmäkatkoksia, vuotoja ja tietomurtoja. Määritysten hallinta -työkalujen avulla pyritään helpottamaan tarkkuutta, tehokkuutta ja nopeutta DevOps-ohjatussa ympäristössä.

Määrityksenhallintatyökaluja on kaksi mallia – PUSH-pohjainen ja PULL-pohjainen. PUSH-pohjaisessa pääpalvelin työntää määrityskoodin palvelimille, jolloin yksittäiset PULL-pohjaiset palvelimet ottavat yhteyttä pääpalvelimeen määrityskoodin saamiseksi. PUPPET ja CHEF ovat laajalti käytettyjä PULL-pohjaisia malleja, ANSIBLE on suosittu PUSH-pohjainen malli. Tässä artikkelissa kerromme aiheesta CHEF.

2. Mikä on kokki?

Kokki on avoimen lähdekoodin automaatioohjelma, jonka avulla järjestelmänvalvojat voivat automatisoida käyttöönoton, määritykset, hallinnan ja käynnissä olevat tehtävät useilla organisaation palvelimilla ja muilla laitteilla yksinkertaisesti ja helposti.

  • Se perustettiin vuonna 2008 nimellä OPSCODE, myöhemmin se nimettiin uudelleen CHEFksi (Chef Automation -työkalu).
  • Se on Ruby-pohjainen automaatiotyökalu, jota käytetään organisaation koko infrastruktuurin konfigurointiin, automatisointiin ja organisointiin.
  • Se on avoimen lähdekoodin projekti, ja siinä on kaksi käyttöönottomallia: Server Client & Standalone.
  • Chef tukee erilaisia käyttöjärjestelmiä, kuten Ubuntu, Redhat/CentOS, Fedora, macOS, Windows, AIX jne.
  • Kokki on ilmoittava ja paljon yksinkertaisempi kuin alkuperäiset skriptikielet.
  • Se tarjoaa jatkuvan käyttöönoton, jotta yritys voi pysyä ajan tasalla markkinoiden vaatimusten kanssa.
  • Keittiömestarin ensisijainen vastuu on ylläpitää määritellyn kokoonpanon tilaa.
  • Sillä on oma deklaratiivinen kieli hallita 10s ja 1000 solmuja helposti.
  • Kokki on mukautuva pilveen, integroituu helposti Infrastructure on Cloudiin.
  • Kokki on helppo oppia ja vahva yhteisön tukema DevOps-ystävällinen työkalu.

3. Chef-arkkitehtuuri

Chef-arkkitehtuuri on jaettu kolmeen pääosaan.

  • Chef WorkStation: Paikallinen kehitysalusta, jonka avulla Chef-käyttäjät voivat luoda, testata ja soveltaa kokoonpanoja. Se voi olla paikallinen työpöytä, kannettava tietokone, johon on asennettu Chef DK (kehityspaketti). Sitä voidaan käyttää kehitys-/testausympäristönä ennen tuotantoon siirtymistä.
  • Chef Server: Se on palvelin, johon on asennettu ja määritetty chef-server-ohjelmisto. Se vastaa kokin koodin hallinnasta ja määrityskoodin käyttämisestä Chef Workstationista. Kokkipalvelimen tulee olla Linux-kone, se ei tue mitään muuta käyttöjärjestelmää.
  • Chef-asiakkaat: On olemassa palvelimia, jotka ottavat yhteyttä Chef-palvelimeen määritystietojen, kuten kokin koodin ja muiden riippuvaisten tiedostojen saamiseksi binäärimuodossa. Se hakee koodin Chef-palvelimelta ja ottaa ne käyttöön paikallisesti.

4. Kokin osat

Seuraavassa on tärkeimmät Chef -komponentit.

  • Resurssit ovat Reseptin perusmoduuli, jota käytetään infrastruktuurin hallintaan.
  • Attribuutti on asetukset avain-arvo-parin muodossa.
  • Reseptit ovat kokoelma attribuutteja, jotka voidaan tehdä työasemassa. Se on joukko komentoja, joita voidaan soveltaa kokkiasiakkaisiin kokkikoodina.
  • Reseptikokoelmaa kutsutaan keittokirjaksi.
  • Veitsi on Chef Workstationin komentorivityökalu, joka on vuorovaikutuksessa Chef Serverin kanssa.

5. Kokin käyttöönottomalli

Chefille on kaksi käyttöönottomallia.

  • Palvelinasiakas – Sitä käytetään tuotannon käyttöönotossa.
  • Chef Zero – Sitä käytetään kehittämiseen, testaukseen ja POC:iin.

6. Miten kokki työskentelee? Infrastruktuuri koodina

Infrastructure as Code on IT-infrastruktuurin hallinta, jossa voimme suorittaa automaattisesti erilaisia asennus-/käyttöönotto- ja konfiguraatiohallintaa. Täällä kaikki konfiguraatiot, asennukset kirjoitetaan koodina.

  • Chef-asiakas/solmu suorittaa rekisteröinnin ja todennuksen Chef-palvelimen kanssa.
  • Chef-asiakas/solmu tutkii ajoittain Chef-palvelinta. Todennusprosessi suoritetaan aina, kun kokki-asiakas haluaa päästä käsiksi kokkipalvelimelle tallennettuihin tietoihin.
  • Ohai on työkalu, jota Chef-asiakas käyttää järjestelmän tilan määrittämiseen, se havaitsee solmun attribuutit (käyttöjärjestelmä, muisti, levy, CPU, ydin jne.) ja tarjoaa ne attribuutit kokki-asiakkaalle. Ohai on osa Chef Client -asennusta.
  • Jos Keittokirja- tai Konfiguraatio-asetuksiin tulee muutoksia, ne lähetetään Chef-Clientille ja päivitetään/asennetaan.
  • Keittokirjat ja asetukset päivitetään Chef-palvelimella Chef Workstationin avulla komentorivityökalulla Knife. Workstation työntää kaikki käytännöt Chef-palvelimelle Knifen avulla.
  • Koska jokaisella asiakkaalla/solmulla on määräaikaistarkastus Chef-palvelimen kanssa, määritykset otetaan käyttöön yksilöllisesti palvelimen roolin mukaan. Esimerkiksi: Chef Nodeissa jotkut solmut ovat tietokantapalvelimia, jotkut solmut ovat yhdyskäytäväpalvelimia jne.
Johtopäätös

Tässä artikkelissa olemme nähneet Configuration Management- ja Chef-automaatiotyökalun peruskäsitteet. Näemme Chef-asennuksen vaiheittaisen prosessin tulevissa artikkeleissa.