Beispiel 1: Installieren von Paketen - AWS OpsWorks

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel 1: Installieren von Paketen

Wichtig

Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Die Paketinstallation zählt zu den gängigeren Einsatzzwecken von Rezepten und kann, je nach Paket, recht einfach sein. Beispielsweise wird mit folgendem Paket Git auf einem Linux-System installiert.

package 'git' do action :install end

Die Paketinstallation wird von der package-Ressource ausgeführt. In diesem Beispiel müssen keine Attribute angegeben werden. Der Ressourcenname ist der Standardwert für das package_name-Attribut, mit dem das Paket identifiziert wird. Mit der install-Aktion wird der Anbieter aufgefordert, das Paket zu installieren. Sie könnten den Code noch weiter vereinfachen, indem Sie install weglassen, denn das ist die Standardaktion der package-Ressource. Wenn Sie das Rezept ausführen, wird von Chef der entsprechende Anbieter für die Paketinstallation verwendet. In diesem Beispiel wird ein Ubuntu-System verwendet, auf dem der Anbieter Git durch den Aufruf von apt-get installiert.

Anmerkung

Bei der Softwareinstallation auf einem Windows-System ist ein anderes Vorgehen erforderlich. Weitere Informationen finden Sie unter Installieren von Windows-Software.

Wenn Sie dieses Rezept in Vagrant mit Test Kitchen ausführen möchten, müssen Sie zunächst ein Rezeptbuch einrichten und Test Kitchen initialisieren und konfigurieren. Die nachfolgenden Schritte gelten für ein Linux-System, aber das Verfahren ist für Windows- und Macintosh-Systeme im Wesentlichen gleich. Öffnen Sie zunächst ein Terminalfenster. In allen Beispielen dieses Kapitels werden Befehlszeilen-Tools genutzt.

So bereiten Sie ein Rezeptbuch vor
  1. Erstellen Sie in Ihrem Stammverzeichnis das Unterverzeichnis opsworks_cookbooks, das alle Rezeptbücher für dieses Kapitel enthalten wird. Erstellen Sie anschließend ein Unterverzeichnis mit dem Namen installpkg für dieses Rezeptbuch und öffnen Sie es.

  2. Erstellen Sie in installpkg die Datei metadata.rb, die folgenden Code enthält.

    name "installpkg" version "0.1.0"

    Aus Gründen der Übersichtlichkeit werden in den Beispielen dieses Kapitels nur der Name und die Version des Rezeptbuchs angegeben, aber metadata.rb kann eine Vielzahl von Metadaten für ein Rezeptbuch enthalten. Weitere Informationen finden Sie unter About Cookbook Metadata.

    Anmerkung

    Achten Sie darauf, metadata.rb vor der Test Kitchen-Initialisierung zu erstellen, denn die Daten werden für die Standardkonfigurationsdatei benötigt.

  3. Führen Sie in installpkg den Befehl kitchen init zur Test Kitchen-Initialisierung und zur Installation des Vagrant-Standardtreibers aus.

  4. Mit dem Befehl kitchen init wird in installpkg eine YAML-Konfigurationsdatei mit dem Namen .kitchen.yml generiert. Öffnen Sie die Datei in Ihrem bevorzugten Texteditor. Die Datei .kitchen.yml enthält einen platforms-Bereich mit den Systemen, auf denen die Rezepte ausgeführt werden sollen. Test Kitchen generiert eine Instance und führt die spezifizierten Rezepte auf den einzelnen Plattformen aus.

    Anmerkung

    Standardmäßig führt Test Kitchen die Rezepte nur auf jeweils einer Plattform aus. Wenn Sie ein -p-Argument zu den Befehlen hinzufügen, mit denen die Instance erstellt wird, führt Test Kitchen die Rezepte auf allen Plattformen gleichzeitig aus.

    Eine einzelne Plattform ist für dieses Beispiel ausreichend. Bearbeiten Sie daher .kitchen.yml und entfernen Sie die centos-6.4-Plattform. Ihre Datei .kitchen.yml sollte nun wie folgt aussehen:

    --- driver: name: vagrant provisioner: name: chef_solo platforms: - name: ubuntu-12.04 suites: - name: default run_list: - recipe[installpkg::default] attributes:

    Test Kitchen führt nur die Rezepte aus, die in der .kitchen.yml-Ausführungsliste genannt werden. Sie erkennen die Rezepte am Format [cookbook_name::recipe_name], wobei für recipe_name die Erweiterung .rb fehlt. Anfänglich enthält die .kitchen.yml-Ausführungsliste das Standardrezept des Rezeptbuchs, installpkg::default. Dieses Rezept werden Sie implementieren, daher muss die Ausführungsliste nicht geändert werden.

  5. Erstellen Sie ein Unterverzeichnis von installpkg namens recipes.

    Wenn ein Kochbuch Rezepte enthält — was bei den meisten der Fall ist —, müssen sie sich im Unterverzeichnis befinden. recipes

Nun können Sie das Rezept zum Rezeptbuch hinzufügen und mithilfe von Test Kitchen auf einer Instance ausführen.

So führen Sie das Rezept aus
  1. Erstellen Sie eine Datei mit dem Namen default.rb, fügen Sie den Beispiel-Code für die Git-Installation vom Abschnittsanfang ein und speichern Sie die Datei im Unterverzeichnis recipes.

  2. Führen Sie im Verzeichnis installpkg den Befehl kitchen converge aus. Dieser Befehl startet eine neue Ubuntu-Instanz in Vagrant, kopiert Ihre Kochbücher auf die Instanz und initiiert einen Chef-Lauf, um die Rezepte in der Ausführungsliste auszuführen. .kitchen.yml

  3. Um zu prüfen, ob das Rezept erfolgreich ausgeführt wurde, führen Sie kitchen login aus und öffnen damit eine SSH-Verbindung zur Instance. Führen Sie dann git --version aus, um zu überprüfen, ob Git erfolgreich installiert wurde. Um zur Workstation zurückzukehren, führen Sie exit aus.

  4. Wenn Sie fertig sind, führen Sie kitchen destroy aus und fahren damit die Instance herunter. Im nächsten Beispiel wird ein anderes Rezeptbuch verwendet.

Dieses Beispiel ist gut für die ersten Schritte geeignet, es ist jedoch besonders einfach. Die Installation anderer Pakete kann komplizierter sein und Sie müssen möglicherweise einen oder alle der folgenden Schritte ausführen:

  • Erstellen und konfigurieren Sie einen Benutzer.

  • Erstellen Sie ein oder mehrere Verzeichnisse für Daten, Protokolle usw.

  • Installieren Sie eine oder mehrere Konfigurationsdateien.

  • Geben Sie einen anderen Paketnamen oder verschiedene Attributwerte für unterschiedliche Betriebssysteme an.

  • Starten Sie einen Service und starten Sie diesen bei Bedarf neu.

In den folgenden Beispielen wird erklärt, wie Sie mit diesen Aspekten umgehen. Zudem werden einige weitere hilfreiche Vorgehensweisen beschrieben.