Was ist Automatisierungs- und Konfigurationsmanagement mit Chef - Teil 1

Was ist Automatisierungs- und Konfigurationsmanagement mit Chef - Teil 1

Nehmen wir ein einfaches Szenario, Sie haben 10 Redhat -Server, in denen Sie auf allen Servern einen "Tecmint" -Nutzer erstellen müssen. Der direkte Ansatz ist, dass Sie sich bei jedem Server anmelden und den Benutzer mit dem Befehl userAdd erstellen müssen. Wenn die Server 100 oder 1000s sind, melden.

Hier ist das erste, was uns in solchen Fällen in den Sinn kommt, darin, ein Skript zu schreiben und das Skript die Ausführung auf Servern ausführen zu lassen. Scripting hat seine eigenen Nachteile, obwohl es in Organisationen weit verbreitet ist, ist es schwierig zu behalten, wenn der Skriptbesitzer die Organisation verlässt.

Das Skript funktioniert nicht in einer heterogenen Umgebung. Das Skript ist eine zwingende Methode, um die Aufgabe zu erfüllen, bei der Sie einen langen Code für eine einfache Aufgabe usw. schreiben müssen., Diese Situation fordert uns auf, nach zu suchen Automatisierungs- und Konfigurationsverwaltung Werkzeuge wie a Koch.

In dieser Reihe von Artikeln auf Koch, Wir werden über die Installations- und Konfigurationsverfahren des Chef-Automatisierungswerkzeugs über die Teile 1-3 erfahren und die folgenden Themen behandelt.

Teil 1: Was ist Automatisierungs- und Konfigurationsmanagement mit Chef? Teil 2: So installieren Sie Chef Workstation in RHEL/Centos 8/7 Teil 3: So installieren Sie das Chef-Client-Server-Modell in RHEL/Centos 8/7

Dieses Tutorial bietet einen Ausgangspunkt darüber, wie Koch Arbeiten, Automatisierung, Konfigurationsmanagement, Architektur und Komponenten des Küchenchefs.

1. Konfigurationsmanagement

Konfigurationsmanagement ist der Hauptschwerpunkt von DevOps üben. Im Softwareentwicklungszyklus sollten alle Server so von Software konfiguriert sein und gut aufrechterhalten werden, dass sie den Entwicklungszyklus keinen Unterbrechung machen sollten. Eine schlechte Konfigurationsverwaltung kann Systemausfälle, Lecks und Datenverletzungen durchführen. Verwendung Konfigurationsmanagement In Tools geht es um die Erleichterung der Genauigkeit, der Effizienz und der Geschwindigkeit in der von DevOps gesteuerten Umgebung.

Es gibt zwei Modelle von Konfigurationsmanagement -Tools - Push-basiert & Zugbasierung. Im Push-basiert, Der Master -Server drückt den Konfigurationscode auf die Server, in denen Zugbasierung Einzelne Server wenden sich an den Master, um Konfigurationscode zu erhalten. MARIONETTE Und KOCH Ansible sind weit verbreitete Pull-basierte Modelle und ist ein beliebtes Push-basierter Modell. In diesem Artikel werden wir darüber sehen KOCH.

2. Was ist ein Koch?

Ein Koch ist ein Open-Source-Automatisierungsprogramm, mit dem Systemadministratoren die Bereitstellung, Konfigurationen, Verwaltung und laufende Aufgaben über eine Reihe von Servern und anderen Geräten einer Organisation auf einfache Weise automatisieren können.

  • Es wird 2008 als gegründet als OpScode später wird es umbenannt in KOCH (Kochautomatisierung Werkzeug).
  • Es handelt sich um ein Ruby-basierter Automatisierungstool, mit dem die Konfiguration verwaltet, die gesamte Infrastruktur einer Organisation automatisiert und orchestriert.
  • Es handelt sich um ein OpenSource -Projekt und verfügt über zwei Bereitstellungsmodelle: Server Client & Standalone.
  • Koch unterstützt verschiedene Betriebssysteme wie Ubuntu, Redhat/Centos, Fedora, MacOS, Windows, AIX usw.
  • Der Küchenchef ist deklarativ und viel einfacher als einheimische Skriptsprachen.
  • Es bietet einen kontinuierlichen Einsatz, damit ein Unternehmen über die Marktanforderung auf dem Laufenden bleibt.
  • Die Hauptverantwortung des Küchenchefs besteht darin, den definierten Konfigurationszustand beizubehalten.
  • Es hat eine eigene deklarative Sprache, um 10s und 1000 Knoten mit Leichtigkeit zu verwalten.
  • Der Küchenchef ist an die Cloud anpassbar und integriert sich problemlos in die Infrastruktur in der Cloud.
  • Der Küchenchef ist leicht zu lernen und ein stark unterstütztes, von der Gemeinschaft unterstütztes DevOps-freundliches Tool.

3. Kocharchitektur

Koch Die Architektur ist in 3 Hauptabschnitte unterteilt.

  • Koch Workstation: Lokale Entwicklungsplattform für Küchenchef -Benutzer, um Konfigurationen zu erstellen, zu testen und anzuwenden. Es kann Ihr lokaler Desktop sein, Laptop mit Chefkoch DK (Entwicklungskit) installiert. Es kann als Entwicklungs-/Testumgebung verwendet werden, bevor es in die Produktion fördert.
  • Kochserver: Es ist ein Server, der mit der Chef-Server-Software installiert und konfiguriert wird. Es ist verantwortlich für die Verwaltung des Code des Küchenchefs und für den Zugriff auf den Konfigurationscode von Chef Workstation. Der Chef -Server sollte ein Linux -Computer sein, er wird kein anderes Betriebssystem unterstützen.
  • Kochkunden: Es gibt die Server, die den Chef -Server für Konfigurationsdetails wie Kochcode und andere abhängige Dateien in Binärdateien kontaktieren. Es zieht den Code vom Chef -Server und bereitet ihn lokal bereit.
Kocharchitektur

4. Kochkomponenten

Im Folgenden finden Sie den Schlüssel Koch Komponenten.

  • Ressourcen sind das grundlegende Rezeptmodul zur Verwaltung der Infrastruktur.
  • Das Attribut ist die Einstellungen in Form eines Schlüsselwertpaars.
  • Rezepte sind die Sammlung von Attributen, die in der Workstation vorgenommen werden können. Es handelt sich um eine Reihe von Befehlen, die auf die Kochkunden als Kochcode angewendet werden können.
  • Die Sammlung von Rezepten heißt a Kochbuch.
  • Ein Messer ist ein Befehlszeilen-Tool in der Chef-Workstation, das mit dem Chef-Server interagiert.

5. Chef -Bereitstellungsmodell

Es gibt zwei Bereitstellungsmodelle für Koch.

  • Server Client - Es wird für die Produktionsbereitstellung verwendet.
  • Koch Null - Es wird für Entwicklung, Testen und POCs verwendet.

6. Wie der Koch arbeitet? Infrastruktur als Code

Infrastruktur als Code ist IT -Infrastrukturverwaltung, in der wir automatisch verschiedene Installations-/Bereitstellungs- und Konfigurationsverwaltung ausführen können. Hier werden alle Konfigurationen, Installationen als Code geschrieben.

  • Der Chef Client/Knode führt Registrierung und Authentifizierung mit dem Chef -Server durch.
  • Chef Client/Knoten wird regelmäßig den Chef -Server untersuchen. Der Authentifizierungsprozess erfolgt jedes Mal, wenn der Chef-Client auf die im Chef-Server gespeicherten Daten zugreifen möchte.
  • Ohai ist ein Tool, das von einem Kochkunden ausgeführt wird, um den Systemzustand zu bestimmen, und erfasst die Attribute (Betriebssystem, Speicher, Festplatte, CPU, Kernel usw.,) des Knoten. Ohai ist Teil der Kochkundeninstallation.
  • Wenn sich die Kochbuch- oder Konfigurationseinstellungen Änderungen vorstellen, wird es an den Chef-Client gesendet und aktualisiert/installiert.
  • Kochbücher und Einstellungen werden auf dem Chef-Server mithilfe der Chef Workstation über das Befehlszeilen-Tool aktualisiert Messer. Die Workstation drückt alle Richtlinien mit einem Messer auf den Kochserver.
  • Da jeder Client/Knoten eine regelmäßige Überprüfung des Chef -Servers durchführt, werden Konfigurationen individuell gemäß der Serverrolle angewendet. Zum Beispiel: In den Kochknoten sind einige Knoten Datenbankserver, einige Knoten sind Gateway -Server usw.
Abschluss

In diesem Artikel haben wir grundlegende Konzepte des Konfigurationsmanagement- und Chef -Automatisierungswerkzeugs gesehen. Wir werden den Schritt-für-Schritt-Prozess der Kochinstallation in den kommenden Artikeln sehen.