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.
Automatisches Hinzufügen von Knoten AWS OpsWorks for Chef Automate
Wichtig
AWS OpsWorks for Chef Automate hat am 5. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für Neu- als auch für Bestandskunden deaktiviert. Wir empfehlen bestehenden Kunden, zu Chef SaaS oder einer alternativen Lösung zu migrieren. Wenn du Fragen hast, kannst du dich auf AWS re:POST
In diesem Thema wird beschrieben, wie Sie Ihrem Chef-Server automatisch Amazon Elastic Compute Cloud (Amazon EC2) -Knoten hinzufügen. Der Code in diesem Starter Kit zeigt das automatische Hinzufügen von Knoten mit der unbeaufsichtigten Methode. Die empfohlene Methode für eine unbeaufsichtigte (oder automatische) Zuordnung neuer Knoten besteht in der Konfiguration des Chef Client Cookbookuserdata
im Starter Kit verwenden und entweder den run_list
-Abschnitt des Skripts userdata
oder Ihr Policyfile.rb
mit den Rezeptbüchern ändern, die Sie auf Ihrem Knoten anwenden möchten. Bevor Sie den chef-client
-Agenten ausführen, laden Sie das Chef Client-Rezeptbuch auf Ihren Chef-Server hoch und installieren den chef-client
-Agenten im Service-Modus, beispielsweise mit einer HTTPD-Rolle, wie im folgenden Beispielbefehl veranschaulicht.
chef-client -r "chef-client,role[httpd]"
Für die Kommunikation mit dem Chef-Server benötigt die chef-client
-Agentensoftware Zugriff auf den öffentlichen Schlüssel des Client-Knotens. Sie können in Amazon EC2 ein öffentlich-privates key pair generieren und dann den öffentlichen Schlüssel mit dem Knotennamen an den AWS OpsWorks associate-node
API-Aufruf übergeben. Das Skript in diesem Starter Kit fasst den Namen der Organisation, den Servernamen und den Server-Endpunkt für Sie zusammen. So wird sichergestellt, dass der Knoten dem Chef-Server zugeordnet wird und die chef-client
-Agentensoftware, die auf dem Knoten ausgeführt wird, bei einer Übereinstimmung mit dem privaten Schlüssel mit dem Server kommunizieren kann.
Die unterstützte Mindestversion von chef-client
auf mit einem AWS OpsWorks for Chef Automate -Server verknüpften Knoten ist 13x. Wir empfehlen, die aktuellste, stabilste Version zu verwenden. chef-client
Informationen zum Trennen der Zuordnung eines Knotens finden Sie Einen Knoten von einem AWS OpsWorks for Chef Automate Server trennen in diesem Handbuch und disassociate-node
in der AWS OpsWorks for Chef Automate API-Dokumentation.
Themen
- Unterstützte Betriebssysteme
- Schritt 1: Erstellen Sie eine IAM-Rolle, die Sie als Ihr Instanzprofil verwenden möchten
- Schritt 2: Installieren des Chef Client-Rezeptbuchs
- Schritt 3: Erstellen von Instances mit einem unbeaufsichtigten Skript für die Zuordnung
- Andere Methoden zur Automatisierung wiederholter Ausführungen von chef-client
- Verwandte Themen
Unterstützte Betriebssysteme
Eine aktuelle Liste von unterstützten Betriebssystemen für Knoten finden Sie auf der Chef-Website
Schritt 1: Erstellen Sie eine IAM-Rolle, die Sie als Ihr Instanzprofil verwenden möchten
Erstellen Sie eine AWS Identity and Access Management (IAM-) Rolle, die Sie als Ihr EC2-Instance-Profil verwenden möchten, und fügen Sie der IAM-Rolle die folgende Richtlinie hinzu. Diese Richtlinie ermöglicht der AWS OpsWorks for Chef Automate
-API (opsworks-cm
) die Kommunikation mit der EC2-Instance während der Knotenregistrierung. Weitere Informationen zu Instance-Profilen finden Sie unter Using Instance Profiles in der Amazon EC2 EC2-Dokumentation. Informationen zum Erstellen einer IAM-Rolle finden Sie unter Creating an IAM Role in the Console in der Amazon EC2 EC2-Dokumentation.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", ], "Resource": "*", "Effect": "Allow" } ] }
AWS OpsWorks stellt eine AWS CloudFormation Vorlage bereit, die Sie verwenden können, um die IAM-Rolle mit der vorherigen Richtlinienerklärung zu erstellen. Der folgende AWS CLI Befehl erstellt mithilfe dieser Vorlage die Instanzprofilrolle für Sie. Sie können den --region
Parameter weglassen, wenn Sie den neuen AWS CloudFormation Stack in Ihrer Standardregion erstellen möchten.
aws cloudformation --region
region ID
create-stack --stack-namemyChefAutomateinstanceprofile
--template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM
Schritt 2: Installieren des Chef Client-Rezeptbuchs
Sofern dies noch nicht geschehen ist, führen Sie die Schritte in (Alternativ) Verwenden von Berkshelf zum Abrufen von Rezeptbüchern aus einer externen Quelle aus, um sicherzustellen, dass Ihr Berksfile oder Ihre Policyfile.rb
-Datei auf das Chef Client-Rezeptbuch verweist und dieses installiert.
Schritt 3: Erstellen von Instances mit einem unbeaufsichtigten Skript für die Zuordnung
-
Um EC2-Instances zu erstellen, können Sie das
userdata
Skript aus dem Starter Kit in denuserdata
Abschnitt mit EC2-Instance-Anweisungen, Amazon EC2 Auto Scaling Scaling-Gruppenstartkonfigurationen oder in eine Vorlage kopieren. AWS CloudFormation Weitere Informationen zum Hinzufügen von Skripten zu Benutzerdaten finden Sie unter Running Commands on Your Linux Instance at Launch in der Amazon EC2 EC2-Dokumentation.Dieses Skript führt den
opsworks-cm
-API-Befehlassociate-node
aus, um dem Chef-Server einen neuen Knoten zuzuordnen.Standardmäßig ist der Name des neu registrierten Knotens die Instance-ID. Sie können den Namen aber ändern, indem Sie den Wert der
NODE_NAME
-Variable im Skriptuserdata
ändern. Da das Ändern des Organisationsnamens in der Benutzeroberfläche der Chef-Konsole derzeit nicht möglich ist, belassen Sie die Festlegung vonCHEF_AUTOMATE_ORGANIZATION
aufdefault
. -
Befolgen Sie die Anleitung in Starten einer Instance in der EC2-Dokumentation mit Änderungen. Wählen Sie im EC2-Instance-Startassistenten ein Amazon Linux AMI.
-
Wählen Sie auf der Seite Configure Instance Details (Instance-Details konfigurieren) die Rolle, die Sie in Schritt 1: Erstellen Sie eine IAM-Rolle, die Sie als Ihr Instanzprofil verwenden möchten erstellt haben, als Ihre IAM-Rolle.
-
Laden Sie in den Bereich Advanced Details (Erweiterte Details) das
userdata.sh
-Skript hoch, das Sie zuvor in diesem Verfahren erstellt haben. -
Auf der Seite Add Storage (Speicher hinzufügen) sind keine Änderungen erforderlich. Gehen Sie weiter zu Add Tags (Tags hinzufügen).
-
Wählen Sie auf der Seite Configure Security Group (Sicherheitsgruppe konfigurieren) Add Rule (Regel hinzufügen) und dann den Typ HTTP, um in diesem Beispiel die Ports 443 und 80 für den Apache-Webserver zu öffnen.
-
Wählen Sie Review and Launch (Überprüfen und starten) und dann Launch (Starten) aus. Wenn Ihr neuer Knoten startet, werden die Konfigurationen angewendet, die von den im
RUN_LIST
-Parameter angegebenen Rezepten vorgegeben sind. -
Optional: Wenn Sie Ihrer Ausführungsliste das
nginx
-Rezeptbuch hinzugefügt haben und die mit dem öffentlichen DNS Ihres neuen Knotens verknüpfte Webseite öffnen, sollten Sie eine Website sehen, die von Ihrem nginx-Webserver gehostet wird.
Andere Methoden zur Automatisierung wiederholter Ausführungen von chef-client
Es ist zwar schwieriger zu erreichen und wird auch nicht empfohlen, aber Sie können das Skript in diesem Thema ausschließlich als Teil der Benutzerdaten einer eigenständigen Instanz ausführen, eine AWS CloudFormation Vorlage verwenden, um es zu neuen Instance-Benutzerdaten hinzuzufügen, einen cron
Job so konfigurieren, dass das Skript regelmäßig ausgeführt wird, oder chef-client
innerhalb eines Service ausgeführt werden. Wir empfehlen allerdings die Methode des Chef Client-Rezeptbuchs, da einige Nachteile mit anderen Automatisierungstechniken bestehen
Eine vollständige Liste der Parameter, die für chef-client
bereitgestellt werden können, finden Sie in der Dokumentation zu Chef
Verwandte Themen
Die folgenden AWS Blogbeiträge bieten weitere Informationen zur automatischen Zuordnung von Knoten zu Ihrem Chef Automate-Server, mithilfe von Auto Scaling Scaling-Gruppen oder innerhalb mehrerer Konten.