Deployment planen
Das Deployment von Terraform in einer Multi-Cloud-Umgebung verwendet die folgenden grundlegenden Schritte.
- Externe Verbindung herstellen
Wenn Sie eine Staging-, Entwicklungs-, QA- oder Produktionsumgebung über mehrere Cloud-Regionen hinweg bereitstellen, müssen Sie zunächst eine externe Verbindung von Oracle Cloud Infrastructure Resource Manager zu einem Quellcodekontrollsystem wie GitHub, GitLab oder Bitbucket herstellen. GitHub enthält die Terraform-Module, die Sie über Compartments in einer Oracle Cloud Infrastructure-Region bereitstellen möchten.
Das folgende Diagramm zeigt diese Beziehung:
- Code ändern
Das zentrale Code-Repository in GitHub enthält die vom Team Development Operations (DevOps) eingecheckten Terraform-Module. Dieses Team von Ingenieuren arbeitet im Infrastruktur-Repository in einer kurzlebigen Verzweigung v1.0. Sobald die Codeänderungen in der kurzlebigen Verzweigung bereit sind, prüft der DevOps-Entwickler sie und führt sie in der Hauptverzweigung zusammen. Der DevOps-Engineer stellt dann Git-Tags für das Repository bereit. Bei zukünftigen Änderungen im Infrastruktur-Repository wiederholt der DevOps-Ingenieur diesen Prozess.
Das Deployment wird vom DevOps-Ingenieur ausgelöst, der das Repository mit dem Terraform-Code taggt. Mit dieser Aktion wird die Ausführung der Deployment-Pipeline gestartet.
Wenn Sie das Repository mit
dev-us-ashburn-1/dev/1.0
taggen, wird die Pipeline ausgelöst, um den Compute-Entwicklungsaccount in der Region US-Ashburn-1 bereitzustellen.Das Beispieltag
dev-us-ashburn-1/dev/1.0
enthält die Zielumgebung (Dev), die Oracle-Region (US-Ashburn-1), das Team (Dev) und eine Versionsnummer (1.0). Sie können andere Ziel-Deployments wie Qualitätssicherung, Staging und Produktion auf ähnliche Weise verwalten.
- Entwicklungsumgebung bereitstellen
Um die Entwicklungsumgebung in den Regionen us-ashburn-1, us-phoenix-1 und us-sanjose-1 in einem Multi-Cloud-Deployment bereitzustellen, prüfen Sie das VCN, in dem Sie die Infrastruktur bereitstellen möchten. Separate Codepipelines werden wie oben gezeigt im GitHub-Repository geprüft. Änderungen, wie das Hinzufügen oder Entfernen von Ressourcen, werden an der Pipeline vorgenommen, und eine neue Version des Git-Tags wird erstellt und dann in die Region übertragen, um Ressourcen bereitzustellen.
- Konfigurationsquellenprovider erstellen
In Oracle Cloud Infrastructure Resource Manager besteht der erste Schritt darin, einen Konfigurationsquellenprovider mit einem öffentlichen Endpunkt für den GitHub-Server zu erstellen, auf dem die Terraformmodule bereitgestellt werden. Jede Region verfügt über einen eigenen Quellprovider. Anschließend werden die Ressourcen in dem Compartment bereitgestellt, in dem Sie die Ressourcen bereitstellen möchten: Entwicklung, Qualitätssicherung, Staging oder Produktion. Verwenden Sie die Oracle Cloud Infrastructure-Befehlszeilenschnittstelle (CLI) nach Bedarf, nachdem die Codegenehmigungsphase abgeschlossen ist, um einen Stack zu erstellen. Führen Sie den Terraform-Plan aus, nachdem Sie den Stack erstellt haben. Nachdem der Plan erfolgreich ausgeführt wurde, wird Terraform angewendet. Prüfen Sie nach der Ausführung auf die Ressourcen, die in den entsprechenden Compartments und Regionen erstellt werden. Terraform-Statusdateien werden in Oracle Cloud Infrastructure Registry gespeichert und verwaltet. Metadaten wie YAML-Dateien werden in Oracle Cloud Infrastructure Artifacts Registry gespeichert. Sie können auch Oracle Cloud Infrastructure Notifications und Oracle Cloud Infrastructure Events aktivieren, um Sie über den Fortschritt des Provisioning-Vorgangs des Infrastruktur-Deployments zu informieren und zu benachrichtigen.