Warum Chef für Automatisierung und Orchestrierung verwenden

Chefkoch ist seit fast einem Jahrzehnt ein führendes Open-Source-Tool zur Automatisierung der Bereitstellung und Konfiguration von Servern. In den letzten Jahren hat das Unternehmen InSpec und Habitat in das Portfolio aufgenommen, Open-Source-Projekte, die das Testen der Richtlinienkonformität sowie die Bereitstellung und Konfiguration von Anwendungen automatisieren. Das Flaggschiff des Unternehmens, Chef Automate, vereint all diese Teile.  

Chef Automate bietet eine Reihe von Unternehmensfunktionen für Workflow, Knotensichtbarkeit und Compliance und lässt sich in die Open Source-Produkte Chef, InSpec und Habitat integrieren. Chef Automate bietet Support-Services für die gesamte Plattform, einschließlich der Open Source-Komponenten. Es bietet nicht nur Einblicke in Betriebs-, Compliance- und Workflow-Ereignisse, sondern auch eine Pipeline für die kontinuierliche Bereitstellung von Infrastruktur und Anwendungen.

Chefkomponenten und Workflow

Auf der Workstation Chef DK (Development Kit) interagieren Benutzer mit Chef. Auf der Workstation erstellen und testen Benutzer Kochbücher mithilfe von Tools wie Test Kitchen (zum Generieren von Test-VMs) und interagieren mit dem Chef-Server mithilfe der Befehlszeilentools. Zum Beispiel ist Knife ein Befehlszeilentool, das eine Schnittstelle zwischen einem lokalen Chef-Repo und dem Chef-Server bietet. Mit Knife können Benutzer unter anderem Knoten, Kochbücher, Datentaschen und die Installation (Bootstrap) des Chef-Clients auf Knoten verwalten. Die meisten Dateien in einem Kochbuch sind in Ruby geschrieben, obwohl einige Konfigurationen in YAML geschrieben sind.

Koch

Der Open Source Chef-Server fungiert als Hub für Konfigurationsdaten. Der Chef-Server speichert Kochbücher, die Richtlinien, die auf Knoten angewendet werden, und Metadaten, die jeden registrierten Knoten beschreiben, der von Chef verwaltet wird. Knoten verwenden den Chef-Client, um den Chef-Server nach Konfigurationsdetails wie Rezepten, Vorlagen und Dateiverteilungen zu fragen. Mit anderen Worten, Chef ist standardmäßig ein Pull- basiertes System. Es hat auch Push-Funktionen.

Chef Supermarket ist der Ort, an dem Community-Kochbücher geteilt und verwaltet werden. Die Chef-Verwaltungskonsole, die von Chef-Client (Agent) ausgeführte Berichterstellung, Hochverfügbarkeitskonfigurationen und die Chef-Server-Replikation sind Teil von Chef Automate.

InSpec ist ein kostenloses Open-Source-Framework zum Testen und Prüfen Ihrer Anwendungen und Infrastruktur. Es ist die Grundlage für den Compliance-Teil von Chef Automate. Es lässt sich sowohl mit Puppet und Ansible als auch mit Chef integrieren.

Habitat ist eine Open Source-Plattform für Cloud-native Anwendungsautomatisierung und Application Lifecycle Management, die eher aus Sicht der Anwendung als aus Sicht des Unternehmens oder der Plattform entwickelt wurde.

Koch

Chef für Entwickler, Compliance und Cloud

Chef Automate hilft dabei, Apps schneller, häufiger und zuverlässiger bereitzustellen und bereitzustellen - mit anderen Worten, es unterstützt Entwickler. Es automatisiert auch die Compliance, indem es die Serverdrift verringert, Compliance-Verstöße erkennt und Probleme automatisch behebt. Chef Compliance, basierend auf Open Source InSpec, war früher ein separates Produkt, ist jetzt aber Teil von Chef Automate.

Die Cloud-Migration ist einer der interessanten Anwendungsfälle für Chef. Dazu gehören AWS, Microsoft Azure, Google Cloud Platform, gemischte Bereitstellungen und Hybrid Clouds. Ein weiterer wichtiger Anwendungsfall ist die Einhaltung von PCI, HIPAA und anderen Sicherheits- und Datenschutzbestimmungen.

Wie in der folgenden Abbildung gezeigt, ist eines der Verkaufsargumente des Küchenchefs, dass es mit dem funktioniert, was Sie haben. Dazu gehören die wichtigsten Git-basierten Repositorys, CI / CD-Systeme, Betriebssysteme, Clouds und Container-Orchestrierungssysteme.

Koch

Installation und Einrichtung des Küchenchefs

Im Allgemeinen besteht eine Chef Automate-Installation aus mindestens zwei Servern: einem Chef-Server (mindestens vier vCPUs und 8 GB RAM), der die Kochbücher und Daten enthält, die zum Erstellen, Testen und Bereitstellen Ihrer Komponenten in Chef Automate und Ihrem Computer verwendet werden Infrastruktur und ein Chef Automate-Server (mindestens vier vCPUs und 16 GB RAM), der den Prozess des Verschiebens einer Änderung durch die Workflow-Pipeline koordiniert und Einblicke und Visualisierungen in Ihren Chef Automate-Cluster bietet.

Es gibt zwei optionale Server, einen Push-Job-Server, der zum Erstellen von Infrastrukturknoten für Bereitstellungstests verwendet wird und auch benötigt wird, wenn Sie Push-Job-basierte Build-Knoten als Teil Ihres Test- und Bereitstellungsprozesses verwenden, sowie Läufer oder Build-Knoten (at mindestens zwei vCPUs und 4 GB RAM), die Builds, Tests und Bereitstellungen von Chef Automate ausführen und nur erforderlich sind, wenn die Workflow-Funktionen von Chef Automate verwendet werden.

Sie beginnen mit der Installation des Chef-Servers, entweder eigenständig oder in einer Hochverfügbarkeitskonfiguration. Erstellen Sie dann mithilfe von chef-server-ctlBefehlen einen Benutzer und eine Organisation zur Verwendung mit Chef Automate . Laden Sie optional den Code für einen Push-Jobs-Server herunter, erstellen Sie ihn und konfigurieren Sie den Chef-Server erneut mit chef-server-ctlBefehlen.

Zu diesem Zeitpunkt können Sie Chef Automate mit rpmoder installieren und konfigurieren dpkg. Installieren Sie Ihre Lizenz und verwenden Sie automate-ctlBefehle, um eine Überprüfung vor dem Flug und den Einrichtungsprozess durchzuführen. Das Setup fordert Sie auf, einen Runner für den Workflow zu erstellen. Schließlich können Sie Ihre Knoten für die Datenerfassung konfigurieren.

AWS OpsWorks für Chef Automate vereinfacht den Installationsprozess erheblich, vorausgesetzt, Sie möchten Ihre Automate- und Chef-Server auf AWS haben - Sie können sie in maximal 10 Minuten bereitstellen. Sie können Ihre lokalen Knoten weiterhin über OpsWorks verwalten, obwohl OpsWorks leuchtet, wenn sich die meisten Ihrer Knoten in AWS befinden, da Knoten automatisch in Gruppen mit automatischer Skalierung registriert werden können.

In AWS gibt es ein anständiges Tutorial, in dem Sie Informationen zu Chef, Chef Automate und OpsWorks erhalten, in dem Sie Schritt für Schritt alles einrichten und Automatisierungsaufgaben ausführen. Das Tutorial dauert etwas länger als eine grundlegende Bereitstellung, lohnt sich jedoch, wenn Sie neu bei Chef sind.

Sie können Chef Automate auch über den AWS Marketplace in VMs installieren. Darüber hinaus ist Chef in die Google Cloud Platform, den Microsoft Azure Marketplace und VMware integriert.

Chef Automate ist stark auf Entwickler und Compliance ausgerichtet, bietet umfassende Plattformunterstützung und eine große Sammlung von Modulen und bietet eine umfassende Suite von Unternehmensfunktionen zur Automatisierung der Bereitstellung und des laufenden Betriebs der Hybridinfrastruktur. Es wird wahrscheinlich die meisten oder alle Ihrer Anforderungen an die IT-Automatisierung erfüllen.

- -

Kosten: Open Source-Projekte (Chef, InSpec, Habitat usw.) kostenlos. Chef Automate, 137 USD / Knoten / Jahr mit Standardunterstützung (12 x 5). AWS OpsWorks mit Chef Automate, 0,0155 USD / Knoten / Stunde. Hosted Chef, $ 72 / Knoten / Jahr.

Plattform: Chef Automate Server benötigt ein RHEL-, SUSE- oder Ubuntu-Betriebssystem. Darüber hinaus wird Chef Automate Job Runner unter MacOS unterstützt.

Chef Automate ist mit den Betriebssystemen VMware, CoreOS, Docker, Windows und Linux kompatibel. die Clouds von Google, AWS, Azure, OpenStack und VMware; die Container-Orchestrierungssysteme Kubernetes, Docker Swarm und Mesosphere. Ein Cloud-basierter Chef Automate-Service ist als AWS OpsWorks für Chef Automate verfügbar. Sie sollten mit Google Chrome zur Automate-Konsole navigieren. IE wird ausdrücklich nicht unterstützt.

Chef DK (Development Kit) wird kommerziell unter MacOS 10.11, RHEL 6, SUSE 11, Ubuntu LTS, Windows 10 oder Windows Server 2012 und späteren Versionen dieser Betriebssysteme unterstützt. Community-Unterstützung ist für Debian 7 und Scientific Linux 6 und höher verfügbar.