Ressourcenbestände für Schematics-Aktionen erstellen

Ein Ressourcenbestand definiert eine einzelne IBM Cloud-Ressource oder eine Gruppe von Ressourcen, in der Sie Ansible-Playbooks, Module oder Rollen mit Schematics-Aktionen ausführen möchten.

Sie können Ihren Ressourcenbestand mithilfe einer statischen Bestandsdatei angeben oder IBM Cloud-Zielressourcen aus Schematics-Arbeitsbereichen dynamisch abrufen.

Statische Bestandsdateien erstellen

Schematics unterstützt die Definition von hosts.ini Dateien, in denen Sie einen einzelnen Ziel-Host oder eine Gruppe von Ziel-Hosts über ihre IP-Adresse angeben. Sie können Namen einer Gruppe von Zielhosts zuordnen, wie z. B. [webserver], und diesen Namen in Ihrem Ansible-Playbook verwenden, um Schematics anzuweisen, wo die Playbook-Tasks ausgeführt werden sollen.

Statische Hosts definieren

Um eine Verbindung zu einem Zielhost über SSH herzustellen, erfordert Ansible entweder einen auflösbaren DNS-Hostnamen oder eine IP-Adresse.

Die typische Verwendung von Schematics-Aktionen zur Konfiguration von VSI in IBM Cloud erfolgt über einen Bastionshost. Siehe Aktionsdokumentation. Der Zugriff auf die private Netzschnittstelle einer VSI erfolgt über einen Bastionshost. Dies bedeutet, dass die private IP-Adresse des Hosts verwendet wird, um eine Verbindung zum Zielhost herzustellen, da private Hostnamen nicht über DNS für Schematicszugänglich gemacht werden. Für private Hosts muss der Bestand mit einer IP-Adresse und der IP-Adresse eines Bastionshosts konfiguriert werden.

VSI mit öffentlichen IP-Adressen und öffentlich registrierten DNS-Hostnamen können durch vollständig qualifizierte DNS-Hostnamen referenziert werden.

Die Verwendung von (kurzen) Hostnamen wird nicht unterstützt.

Hostdatei erstellen

  1. Melden Sie sich an der KonsoleIBM Cloud an.
  2. Klicken Sie auf das Menüsymbol (Hamburger-Symbol) > Plattformautomatisierung > Schematics > Ansible.
  3. Klicken Sie auf den Namen des Playbooks.
  4. Klicken Sie auf Inventar > Inventar erstellen.
  5. Geben Sie einen Namen für Ihren Bestand ein, überprüfen Sie Ihren Standort und wählen Sie die Resource group aus, in der Sie einen Bestand erstellen möchten.
  6. Wählen Sie die Registerkarte Manuell definieren aus.
  7. Geben Sie im Feld Datei die Zielhosts ein, auf denen Sie das Ansible-Playbook ausführen möchten. Sie müssen Ihre Hosts in einer INI-Syntax angeben. Eine Beispielsyntax finden Sie unter Dateiformat. Überprüfen Sie die Einschränkungen, um sicherzustellen, dass Ihre Bestandsdefinition in Schematics unterstützt wird.
  8. Klicken Sie auf Bestand erstellen.
  9. Folgen Sie den Schritten zur Erstellung einer Schematics Aktion und verwenden Sie das von Ihnen erstellte Ressourceninventar.

Dateiformat

In der folgenden Beispieldatei hosts.ini ist die Struktur der statischen Hostbestandsliste dargestellt. Weitere Informationen zu hosts.ini-Dateistrukturen finden Sie in der Ansible-Dokumentation.

Dieses Beispiel referenziert sowohl öffentlich zugängliche Hosts über den Hostnamen als auch private Hosts über die IP-Adresse.

mail.example.com

[webservers]
web1.mydomain.com
web2.mydomain.com

[dbservers]
172.16.5.9
172.16.5.10
172.16.5.11

[datacenters]
172.15.4.0

Einschränkungen

Berücksichtigen Sie die folgenden Einschränkungen für statische Bestandsdateien in Schematics:

  • Schematics unterstützt nur die INI-Dateisyntax.
  • Variablen werden in Dateien des Typs hosts.ini nicht unterstützt.
  • Die Angabe von Hostgruppen unter Verwendung von Schlüssel/Wert-Paaren in Dateien des Typs hosts.ini wird nicht unterstützt.
  • Sie müssen die Datei hosts.ini manuell aktualisieren, wenn sich der Hostname oder die IP-Adresse der Zielhosts ändert.
  • Wenn Hosts durch einen Bastionshost geschützt und nur über eine private IP-Adresse zugänglich sind, muss die IP-Adresse des Hosts angegeben werden.
  • Wenn Hosts über eine öffentlich zugängliche IP-Adresse zugänglich sind und über einen registrierten DNS-Namen verfügen, kann der Host durch seinen vollständig qualifizierten Hostnamen referenziert werden.
  • Alle Zielhosts müssen mit demselben öffentlichen SSH-Schlüssel konfiguriert werden. Wenn Sie die statische Bestandsdatei in Ihrer Schematics-Aktion verwenden, können Sie einen einzigen SSH-Schlüssel für die Authentifizierung bei allen Zielhosts angeben, die in Ihrem Ressourcenbestand enthalten sind. Der SSH-Schlüssel sollte bei Befehlszeilen- oder API-Aufrufen am Ende der Schlüsseldetails \n enthalten. Weitere Informationen über SSH-Schlüssel finden Sie unter Hinzufügen eines SSH-Schlüssels.

Ressourcenbestände aus Schematics-Arbeitsbereichen dynamisch erstellen

Sie können Ihr Ressourceninventar dynamisch aus den Cloud-Ressourcen aufbauen, die Sie mit Schematics workspaces bereitgestellt haben.

Dynamische Ressourceninventare verweisen auf Cloud-Ressourcen, die Sie mit Schematics workspaces bereitgestellt haben. Um die Cloud-Ressourcen aus Ihren Arbeitsbereichen abzurufen, verwenden Sie vordefinierte Ressourcenabfragen. Sie müssen die IP-Adressen, die Ihren Zielressourcen zugeordnet wurden, nicht überwachen, da Schematics die Zielhosts automatisch ermittelt, wenn Sie diesen Bestand in der Schematics-Aktion verwenden.

  1. Melden Sie sich an der KonsoleIBM Cloud an.
  2. Klicken Sie auf das Hamburger-Symbol Menü > Plattformautomatisierung > Schematics > Ansible.
  3. Klicken Sie auf den Namen des Playbooks.
  4. Klicken Sie auf Inventar > Inventar erstellen.
  5. Geben Sie einen Namen für Ihren Bestand ein, überprüfen Sie Ihren Standort und wählen Sie die Resource group aus, in der Sie einen Bestand erstellen möchten.
  6. Wählen Sie die Registerkarte Hostgruppen aus.
  7. Klicken Sie auf Hostgruppe erstellen.
  8. Geben Sie einen Namen für Ihre Hostgruppe ein und wählen Sie den Schematics-Arbeitsbereich aus, der die Zielhosts bereitgestellt hat, die Sie zu Ihrer Hostgruppe hinzufügen möchten.
  9. Optional: Klicken Sie auf Abfrage hinzufügen, um eine weitere Bedingung zu Ihrer Abfrage hinzuzufügen, und begrenzen Sie die Anzahl der Zielhosts, die Ihrer Hostgruppe hinzugefügt werden. Sie können angeben, dass Ihre Hosts anhand des Ressourcennamens oder eines Tags identifiziert werden können. Weitere Informationen finden Sie unter Unterstützte Ressourcenabfragen.
  10. Wiederholen Sie die Schritte 5-8, um weitere Hostgruppen hinzuzufügen.
  11. Wählen Sie in der Tabellenliste die Hostgruppen aus, die Sie in Ihren Ressourcenbestand aufnehmen möchten.
  12. Klicken Sie auf Bestand erstellen.
  13. Folgen Sie den Schritten zur Erstellung der Schematics Aktionen und verwenden Sie das von Ihnen erstellte Ressourceninventar.

Unterstützte Ressourcenabfragen

Ressourcenabfrage
Unterstützte Abfrage Beschreibung
Wählen Sie alle Cloud-Ressourcen aus einem bestimmten Arbeitsbereich aus
Arbeitsbereichsname UND Ressourcenname Eine bestimmte Ressource aus einem bestimmten Arbeitsbereich unter Verwendung des Ressourcennamens auswählen. Um mehrere Ressourcen aus demselben Arbeitsbereich auszuwählen, können Sie mehrere Abfragen dieses Typs hinzufügen.
Arbeitsbereichsname UND Tag Eine bestimmte Ressource aus einem bestimmten Arbeitsbereich unter Verwendung von Tags auswählen. Tags werden bei der Erstellung des Arbeitsbereichs und Bereitstellung der Ressourcen zur Ressource hinzugefügt. Um mehrere Ressourcen mit unterschiedlichen Tags aus demselben Arbeitsbereich auszuwählen, können Sie mehrere Abfragen dieses Typs hinzufügen.

Einschränkungen

Berücksichtigen Sie die folgenden Einschränkungen für dynamische Bestände in Schematics:

  • Sie können zwischen den unterstützten Abfragen auswählen, um die virtuellen Zielserverinstanzen auszuwählen, die in Ihren Ressourcenbestand aufgenommen werden sollen.
  • Schematics ruft die IP-Adresse einer Virtual Servers for VPC-Zielinstanz ab und fügt die IP-Adresse dem Ressourcenbestand hinzu. Wenn das Ziel Virtual Servers for VPC eine öffentliche IP-Adresse hat, wird die öffentliche IP-Adresse für den Ressourcenbestand verwendet. Ist keine öffentliche IP-Adresse vorhanden, wird die private IP-Adresse für den Ressourcenbestand verwendet.
  • Alle Zielhosts müssen mit demselben öffentlichen SSH-Schlüssel konfiguriert werden. Wenn Sie die statische Bestandsdatei in Ihrer Schematics-Aktion verwenden, können Sie einen einzigen SSH-Schlüssel für die Authentifizierung bei allen Zielhosts angeben, die in Ihrem Ressourcenbestand enthalten sind. Der SSH-Schlüssel sollte bei Befehlszeilen- oder API-Aufrufen am Ende der Schlüsseldetails \n enthalten. Weitere Informationen über SSH-Schlüssel finden Sie unter Hinzufügen eines SSH-Schlüssels.