Blueprints – Übersicht

Ein Blueprint ist ein Paket aus bereitstellbaren, wiederverwendbaren Konfigurationen und Richtlinien, mit dem eine bestimmte Lösung implementiert und dokumentiert wird. Mit Blueprints können Entwickler Infrastruktur, Plattformen und Anwendungsdienste entwerfen. Dazu werden Cloud-Ressourcen durch deklarative Konfiguration erstellt und verbunden. Sie kodifizieren Wissen und Fachkenntnisse für die schnelle Bereitstellung neuer Systeme und Umgebungen.

Best Practices

Blueprints erfassen Best Practices für bestimmte Anwendungsfälle, einschließlich geeigneter Ressourcengruppierungen und -richtlinien. Nachdem Best Practices in einem Blueprint verpackt wurden, können sie intern in Ihrer Organisation freigegeben oder im Internet für ein breiteres Publikum veröffentlicht werden.

Intelligente Standardeinstellungen

Da in einem Blueprint mehrere Ressourcen für bestimmte Anwendungsfälle verpackt sind, liefern sie sensible, kontextbezogene Standardwerte. Dadurch müssen Sie nicht jede Option für jede Ressource anpassen. Somit können Sie die Einrichtung beschleunigen und die Kosten senken.

Richtlinienmaßnahmen

Blueprints veranschaulichen nicht nur Best Practices, sondern können auch Richtlinienmaßnahmen enthalten, mit denen Entwickler schneller agieren können, ohne die Sicherheit oder Compliance zu beeinträchtigen.

Self-Service-Upgrades

Blueprints werden als versionierte, gemeinsam nutzbare Artefakte veröffentlicht, die im Laufe der Zeit verbessert werden können, ohne Produktionssysteme zu beeinträchtigen. Blueprint-Nutzer entscheiden selbst, wann sie ein Upgrade auf neuere Versionen durchführen möchten, und erhalten somit mehr Kontrolle und die Möglichkeit, Upgrades schrittweise in der gesamten Organisation einzuführen. Neue Nutzer verwenden standardmäßig die neueste Konfiguration und können somit aktuelle Best Practices sofort umsetzen.

Arten von Blueprints

Google bietet Blueprints für Kubernetes und Terraform.

Wenn Sie Kubernetes bereits verwenden oder nach einer einheitlichen Methode zum Verwalten Ihrer Anwendungen und Infrastruktur mit derselben Toolchain suchen, sehen Sie sich die KRM-Blueprints an.

Wenn Sie Terraform bereits verwenden oder nach einem robusten System suchen, das von mehreren Cloud-Anbietern unterstützt wird, sehen Sie sich die Terraform-Blueprints an.

KRM-Blueprints (Kubernetes Resource Model)

Mit Config Connector, einer Komponente von Anthos Config Management, können Sie Google Cloud-Ressourcen mithilfe des Kubernetes-Ressourcenmodells angeben. Mit KRM können Ressourcen mühelos mit YAML oder JSON deklarativ angegeben werden.

Kubernetes-Ressourcen können mit kpt verpackt werden, einem Kubernetes-nativen Paketerstellungstool, das eine umfassende Unterstützung zum Anpassen, Validieren und Bereitstellen von Kubernetes-Ressourcen bietet. Mit kpt erstellte Blueprints können alle Ressourcen mit einer KRM-Darstellung umfassen, einschließlich nativer Kubernetes-Ressourcen und Google Cloud-Ressourcen mit Config Connector.

Sie können KRM-Blueprints auf jedem Kubernetes-Cluster bereitstellen, auf dem Config Connector ausgeführt wird, einschließlich der gehosteten Anthos Config Management-Plattform Config Controller. Config Controller bietet eine zentrale Steuerungsebene, mit der Sie die Konfiguration und Richtlinie Ihrer gesamten Cloud-Infrastruktur verwalten können.

Richtlinien für KRM-Blueprints werden als OPA-Einschränkungsvorlagen (Open Policy Agent) geschrieben. Policy Controller ist eine Komponente von Anthos Config Management, die eine serverseitige OPA-Richtlinienvalidierung mit einem Admission-Webhook bietet, um ungültige Ressourcenkonfigurationen abzulehnen, bevor sie von anderen Kubernetes-Controllern eingesetzt werden. OPA-Richtlinien können auch clientseitig mit kpt-Funktionen validiert werden. Dies ermöglicht Shift-Left-Tests für schnelleres Feedback schon früh in der Bereitstellungs-Pipeline. Da OPA-Richtlinien mit Kubernetes-Ressourcen definiert werden können, können sie zusammen mit den zu validierenden Ressourcen in kpt-Paketen gebündelt und verteilt werden.

Erste Schritte mit KRM-Blueprints mit dem KRM-Blueprint-Katalog

Terraform-Blueprints

Terraform verwendet die HashiCorp-Konfigurationssprache (HashiCorp Configuration Language, HCL) zur Angabe von Ressourcen. Terraform-Ressourcen können als Module verpackt werden, die über Git-Repositories und die Terraform-Registry veröffentlicht werden.

Richtlinien für Terraform-Blueprints werden auch als OPA--Einschränkungsvorlagen (Open Policy Agent) geschrieben. Der Terraform-Validator ermöglicht die clientseitige Richtlinienvalidierung, indem Terraform-Pläne in Asset-Metadaten von Cloud Asset Inventory umgewandelt und dann anhand von OPA-Richtlinien validiert werden. Dadurch können Fehlkonfigurationen schon früh in der Bereitstellungspipeline erkannt werden. In der Richtlinienbibliothek finden Sie verschiedene Gruppen von Standardrichtlinien.

Lesen Sie den Katalog der Terraform-Blueprints, um sich mit den Terraform-Blueprints vertraut zu machen.

Nächste Schritte