Wat ass Automatioun a Konfiguratiounsmanagement mam CHEF - Deel 1


Loosst eis en einfachen Szenario huelen, Dir hutt 10 Redhat Serveren wou Dir e 'Tecmint' Benotzer an all de Serveren erstellen musst. Déi direkt Approche ass, Dir musst op all Server aloggen an de Benotzer mam Useradd Kommando erstellen. Wann d'Serveren 100s oder 1000s sinn, Login op all Serveren een nom aneren ass praktesch net méiglech.

Hei ass dat éischt wat eis an esou Fäll am Kapp kënnt ass e Skript ze schreiwen an de Skript d'Ausféierung op Serveren auszeféieren, et ass eng bewährte Approche. Scripting huet seng eegen Nodeeler, och wann et vill an Organisatiounen benotzt gëtt, ass et schwéier ze halen wann de Skriptbesëtzer d'Organisatioun verléisst.

De Skript funktionnéiert net an engem heterogenen Ëmfeld. De Skript ass eng Imperativ Method fir d'Aufgab z'erreechen, wou Dir e laange Code fir eng einfach Aufgab muss schreiwen etc., dës Situatioun verlaangt eis no Automatisatiouns- a Konfiguratiounsmanagement Tools wéi e Chef ze sichen.

An dëser Serie vun Artikelen iwwer Chef wäerte mir iwwer d'Installatioun an d'Konfiguratiounsprozeduren vum Chef Automation Tool duerch d'Deeler 1-3 gesinn an deckt déi folgend Themen.

Dësen Tutorial liwwert e Startpunkt iwwer wéi Chef funktionnéiert, Automatisatioun, Konfiguratiounsmanagement, Architektur a Komponente vum Chef.

1. Configuratioun Management

Configuration Management ass de Schlësselfokuspunkt vun der DevOps Praxis. Am Softwareentwécklungszyklus sollten all d'Servere Software-konfiguréiert a gutt erhale sinn op esou eng Manéier datt se keng Paus am Entwécklungszyklus solle maachen. Schlecht Konfiguratiounsmanagement kann Systemausfall, Leckage an Dateverletzungen maachen. D'Benotzung vun Configuration Management Tools ass iwwer d'Erliichterung vun Genauegkeet, Effizienz a Geschwindegkeet am DevOps-driven Ëmfeld.

Et ginn zwee Modeller vun Konfiguratioun Management Tools - PUSH-baséiert & PULL-baséiert. Am PUSH-baséiert dréckt de Master Server de Konfiguratiounscode op d'Serveren wou PULL-baséiert eenzel Server de Master kontaktéiere fir de Konfiguratiounscode ze kréien. PUPPET a CHEF si wäit benotzt PULL-baséiert Modeller, ANSIBLE ass e populäre PUSH-baséiert Modell. An dësem Artikel wäerte mir iwwer CHEF gesinn.

2. Wat ass e Chef?

E Chef ass en Open-Source Automatisatiounsprogramm deen Systemadministrateuren et erméiglecht d'Deployment, d'Konfiguratiounen, d'Gestioun an d'aktuell Aufgaben iwwer eng Zuel vu Serveren an aner Apparater vun enger Organisatioun op eng einfach einfach Manéier ze automatiséieren.

  • Et gëtt am Joer 2008 als OPSCODE gegrënnt, spéider gëtt et op CHEF ëmbenannt (Chef Automation Tool).
  • Et ass e Ruby-baséiert Automatisatiounsinstrument dat benotzt gëtt fir d'Konfiguratioun ze managen, d'ganz Infrastruktur vun enger Organisatioun ze automatiséieren an ze orchestréieren.
  • Et ass en Opensource Projet a kënnt mat zwee Deployment Modeller: Server Client & Standalone.
  • Chef ënnerstëtzt verschidde Betribssystemer wéi Ubuntu, Redhat/CentOS, Fedora, macOS, Windows, AIX, etc.
  • De Chef ass deklarativ an ass vill méi einfach wéi gebierteg Skriptesproochen.
  • Et bitt eng kontinuéierlech Deployment fir eng Firma z'erméiglechen mat der Maartfuerderung aktualiséiert ze bleiwen.
  • D'Primärverantwortung vum Chef ass den definéierten Zoustand vun der Konfiguratioun z'erhalen.
  • Et huet seng eege deklarativ Sprooch fir 10s an 1000s vun Noden mat Liichtegkeet ze verwalten.
  • De Chef ass adaptéierbar un d'Wollek, integréiert einfach mat Infrastruktur op Cloud.
  • De Chef ass einfach ze léieren an e staarkt Gemeinschafts-ënnerstëtzt DevOps-frëndlecht Tool.

3. Chef Architektur

Chef Architektur ass an 3 grouss Sektiounen opgedeelt.

  • Chef WorkStation: Lokal Entwécklungsplattform fir Chef Benotzer fir Konfiguratiounen ze kreéieren, ze testen an z'applizéieren. Et kann Äre lokalen Desktop sinn, Laptop mat Chef DK (Development Kit) installéiert. Et kann als Entwécklungs-/Testëmfeld benotzt ginn ier se an d'Produktioun fördert.
  • Chef Server: Et ass e Server mat der Chef-Server Software installéiert a konfiguréiert ass. Et ass verantwortlech fir de Chef säi Code ze managen an Zougang zum Konfiguratiounscode vu Chef Workstation ze kréien. De Chef Server soll eng Linux Maschinn sinn, et wäert keen anere Betribssystem ënnerstëtzen.
  • Chef Clienten: Et ginn d'Serveren déi de Chef Server kontaktéieren fir Konfiguratiounsdetailer wéi Chef Code an aner ofhängeg Dateien a Binären. Et zitt de Code vum Chef-Server an deployéiert se lokal.

4. Chef Komponente

Folgend sinn déi Schlëssel Chef Komponente.

  • Ressourcen sinn de Basismodul vum Rezept benotzt fir d'Infrastruktur ze managen.
  • Den Attribut sinn d'Astellungen a Form vu Schlëssel-Wäertpaar.
  • Rezepter sinn d'Sammlung vun Attributer déi an der Workstation gemaach kënne ginn. Et ass e Set vu Kommandoen déi op de Chef Clienten als Chef Code applizéiert kënne ginn.
  • Rezeptsammlung gëtt e Kachbuch genannt.
  • E Messer ass e Kommandozeil-Tool an Chef Workstation dat mam Chef Server interagéiert.

5. Chef Deployment Model

Et ginn zwee Deploymentmodeller fir Chef.

  • Server Client - Et gëtt fir d'Produktioun Deployment benotzt.
  • Chef Zero - Et gëtt fir Entwécklung, Testen a POCs benotzt.

6. Wéi Chef Aarbecht? Infrastruktur als Code

Infrastructure as Code ass IT Infrastructure Management wou et eis erlaabt automatesch verschidden Installatioun/Deployment a Configuration Management auszeféieren. Hei sinn all Konfiguratiounen, Installatiounen als Code geschriwwen.

  • De Chef Client/Node wäert Registréierung an Authentifikatioun mam Chef Server maachen.
  • Chef Client/Node wäert periodesch an de Chef Server kucken. Den Authentifikatiounsprozess gëtt all Kéier gemaach, wann de Chef-Client Zougang zu den Daten, déi um Chef-Server gespäichert sinn.
  • Ohai ass en Tool dat vun engem Chef Client ausgeführt gëtt fir de Systemzoustand ze bestëmmen, et wäert d'Attributer (OS, Memory, Disk, CPU, Kernel, etc.) vum Node entdecken an dës Attributer un den Node ubidden. Chef-Client. Ohai ass Deel vun der Chef Client Installatioun.
  • Wann et Ännerungen am Kachbuch oder Konfiguratiounsastellunge gëtt, gëtt se un de Chef-Client geschéckt a gëtt aktualiséiert/installéiert.
  • Kachbicher an Astellunge ginn am Chef-Server aktualiséiert mat Chef Workstation duerch de Kommandozeil-Tool Messer. D'Workstation dréckt all Politik op de Chef Server mat Messer.
  • Wéi all Client/Node e periodesche Check mam Chef Server wäert hunn, ginn d'Konfiguratioune individuell jee no der Serverroll applizéiert. Zum Beispill: An de Chef Nodes sinn e puer Noden Datebankserver, e puer Node wäerte Gateway-Server, etc.

An dësem Artikel hu mir d'Basiskonzepter vum Configuration Management a Chef Automation Tool gesinn. Mir gesinn de Schrëtt-fir-Schrëtt Prozess vun der Chef Installatioun an den nächsten Artikelen.