Zu Projekten und Cloud-Vorlagen hinzugefügte Tags fungieren als Einschränkungs-Tags, wenn sie für den Abgleich von Funktions-Tags mit Infrastrukturressourcen, Profilen und Cloud-Zonen verwendet werden. Bei Cloud-Vorlagen nutzt Automation Assembler die Abgleichfunktion, um Ressourcen für Bereitstellungen zuzuteilen.
Automation Assembler bietet Ihnen die Möglichkeit, Einschränkungs-Tags auf zwei primäre Arten zu verwenden. Bei der ersten Möglichkeit werden Einschränkungen beim Konfigurieren von Projekten und Images angewendet. Sie können Tags als Einschränkungen verwenden, um Ressourcen mit dem Projekt oder dem Image zu verknüpfen. Bei der zweiten Möglichkeit werden in Cloud-Vorlagen, in denen Tags als Einschränkungen angegeben werden, diese zur Auswahl von Ressourcen für Bereitstellungen verwendet. Die auf diese beiden Arten angewendeten Einschränkungen werden in Cloud-Vorlagen zu einem Satz von Bereitstellungsanforderungen zusammengeführt, die die für eine Bereitstellung verfügbaren Ressourcen definieren.
Funktionsweise von Einschränkungs-Tags in Projekten
Bei der Konfiguration von Automation Assembler-Ressourcen können Cloud-Administratoren Einschränkungs-Tags auf Projekte anwenden. Auf diese Weise können Administratoren Kontrolleinschränkungen direkt auf Projektebene anwenden. Alle auf dieser Ebene hinzugefügten Einschränkungen werden auf jede für das betreffende Projekt angeforderte Cloud-Vorlage angewendet. Diese Einschränkungs-Tags haben Vorrang vor anderen Tags.
Wenn Einschränkungs-Tags im Projekt mit Einschränkungs-Tags in der Cloud-Vorlage in Konflikt stehen, haben die Projekt-Tags Vorrang, sodass der Cloud-Administrator Verwaltungsregeln erzwingen kann. Wenn beispielsweise die Cloud-Administratoren ein location:london
-Tag für das Projekt erstellen, aber ein Entwickler ein location:boston
-Tag auf der Cloud-Vorlage platziert, hat das erste Tag Vorrang und die Ressource wird in der Infrastruktur bereitgestellt, die das location:london
-Tag enthält.
Es stehen drei Arten von Einschränkungs-Tags zur Verfügung, die Benutzer auf Projekte anwenden können: Netzwerk, Speicher und Erweiterbarkeit. Sie können beliebig viele Instanzen jedes Tag-Typs anwenden. Projekteinschränkungen können hart oder weich sein. Standardmäßig sind sie hart. Harte Einschränkungen ermöglichen es Ihnen, Bereitstellungseinschränkungen strikt durchzusetzen. Wenn eine oder mehrere harte Einschränkungen nicht erfüllt werden, schlägt die Bereitstellung fehl. Weiche Einschränkungen bieten eine Möglichkeit zum Ausdrücken von Einstellungen, die bei Verfügbarkeit ausgewählt werden. Die Bereitstellung schlägt jedoch nicht fehl, wenn weiche Einschränkungen nicht erfüllt werden.
Funktionsweise von Einschränkungs-Tags in Cloud-Vorlagen
In Cloud-Vorlagen fügen Sie Einschränkungs-Tags zu Ressourcen als YAML-Code hinzu, um die entsprechenden Funktions-Tags zu erfüllen, die Ihr Cloud-Administrator für Ressourcen, Cloud-Zonen und für Speicher- und Netzwerkprofile erstellt hat. Darüber hinaus gibt es weitere komplexere Optionen für die Implementierung von Einschränkungs-Tags. Sie können beispielsweise eine Variable verwenden, um ein oder mehrere Tags für eine Anforderung aufzufüllen. Auf diese Weise können Sie einen oder mehrere Tags zur Anforderungszeit angeben.
Erstellen Sie Einschränkungs-Tags mithilfe der tag
-Bezeichnung unter einer Einschränkungsüberschrift im YAML-Code für die Cloud-Vorlage. Einschränkungs-Tags aus Projekten werden den in Cloud-Vorlagen erstellten Einschränkungs-Tags hinzugefügt.
Automation Assembler unterstützt eine einfache Zeichenfolgenformatierung, um die Verwendung von Einschränkungen in YAML-Dateien zu vereinfachen:
[!]tag_key[:tag_value][:hard|:soft]
Standardmäßig erstellt Automation Assembler eine positive Einschränkung mit harter Erzwingung. Der Tag-Wert ist optional, wird aber wie im Rest der Anwendung empfohlen.
key:value
-Formats unterstützt. Der Versuch, andere Trennzeichen zu verwenden, führt wahrscheinlich zu Fehlern.
Das folgende WordPress-mit-MySQL-Beispiel zeigt YAML-Einschränkungs-Tags, die bestimmte Standortinformationen für Computing-Ressourcen aufweisen.
name: "wordPressWithMySql" components: mysql: type: "Compute" data: name: "mysql" # ... skipped lines ... wordpress: type: "Compute" data: name: "wordpress" instanceType: small imageType: "ubuntu-server-1604" constraints: - tag: "!location:eu:hard" - tag: "location:us:soft" - tag: "!pci" # ... skipped lines ...
Weitere Informationen zum Arbeiten mit Cloud-Vorlagen finden Sie unter Teil 3: Entwerfen und Bereitstellen der Automation Assembler-Beispielvorlage.
Funktionsweise von harten und weichen Einschränkungen in Projekten und Cloud-Vorlagen
Einschränkungen in Projekten und Cloud-Vorlagen können hart oder weich sein. Der vorangehende Codeausschnitt zeigt Beispiele für harte und weiche Einschränkungen. Standardmäßig sind alle Einschränkungen hart. Harte Einschränkungen ermöglichen es Ihnen, Bereitstellungseinschränkungen strikt durchzusetzen. Wenn eine oder mehrere harte Einschränkungen nicht erfüllt werden, schlägt die Bereitstellung fehl. Weiche Einschränkungen drücken Einstellungen aus, die gelten, wenn sie verfügbar sind. Wenn sie nicht erfüllt werden, führt dies jedoch nicht dazu, dass eine Bereitstellung fehlschlägt.
Wenn Sie über eine Reihe von harten und weichen Einschränkungen für einen bestimmten Ressourcentyp verfügen, können die weichen Einschränkungen auch als Trennung dienen. Das heißt, wenn mehrere Ressourcen eine harte Einschränkung erfüllen, werden die weichen Einschränkungen verwendet, um die tatsächlich in der Bereitstellung verwendete Ressource auszuwählen.
Sie erstellen beispielsweise eine Einschränkung des Festplattenspeichers mit einem location:boston
-Tag. Wenn kein Speicher im Projekt mit dieser Einschränkung übereinstimmt, schlagen alle zugehörigen Bereitstellungen fehl.