Ressourcen bereitstellen, konfigurieren und entfernen
Mit Terraform können Sie Ihre Ressourcen in der Cloud effizient bereitstellen, ändern und entfernen.
Info zu Terraform-Statusdateien
Terraform speichert Statusinformationen, um die verwalteten Infrastrukturressourcen zu überwachen, die bereitgestellten Ressourcen Ihrer Konfiguration zuzuordnen, Metadaten zu überwachen und die Performance für große Infrastruktur-Deployments zu verbessern.
Standardmäßig wird die Datei terraform.tfstate auf dem lokalen Host gespeichert. Dieses Standardverhalten ist in IT-Umgebungen nicht optimal, in denen mehrere Benutzer die in einer bestimmten Konfiguration definierten Ressourcen erstellen und endgültig löschen müssen. Um das Deployment und die Verwaltung von Ressourcen in einer Mehrbenutzerumgebung zu steuern, speichern Sie die Terraform-Statusdateien in Oracle Cloud Infrastructure Object Storage und geben die Statusdateien und Sperrdateien für alle Benutzer frei.
Ressourcen erstellen
Nachdem Sie die Variablen in der Datei terraform.tfvars festgelegt haben, verwenden Sie die Terraform-CLI, um die in der Terraform-Konfiguration definierten Ressourcen bereitzustellen.
Apply complete! Resources: 33 added, 0 changed, 0 destroyed.
Outputs:
admin_private_ip = 10.0.1.10
bastion_public_ip = 203.0.113.101
kubeconfig = export KUBECONFIG=generated/kubeconfig
ocirtoken = <sensitive>
ssh_to_admin = ssh -i /home/joe/.ssh/id_rsa -J opc@203.0.113.101 opc@10.0.1.10
ssh_to_bastion = ssh -i /home/joe/.ssh/id_rsa opc@203.0.113.101- Die Ausgabe
kubeconfigzeigt den Befehl an, mit dem Sie die UmgebungsvariableKUBECONFIGauf Ihrem lokalen Host festlegen können. Führen Sie diesen Befehl aus, wenn Sie die CLIkubectlvom lokalen Host zum Verwalten des Kubernetes-Clusters verwenden möchten. Der Befehl legtKUBECONFIGauf die Dateigenerated/kubeconfigfest, die Terraform beim Anwenden der Konfiguration erstellt. - Die Ausgabe
ssh_to_adminzeigt den Befehlsshan, mit dem Sie eine Verbindung zum Admin-Host herstellen können. - Die Ausgabe
ssh_to_bastionzeigt den Befehlsshan, mit dem Sie eine Verbindung zum Bastion-Host herstellen können.
Hinweis:
Sie können diese Terraform-Ausgabe jederzeit anzeigen, indem Sie den Befehlterraform output ausführen.Admin-Host die Ressourcenverwaltung zulassen
Damit der Admin-Host Ressourcen im Compartment verwalten kann, können Sie ihn als Instanz-Principal angeben. Verwenden Sie dieses Feature, wenn Sie CLI-Befehle ausführen oder API-Aufrufe vom Admin-Host vornehmen möchten, um Ressourcen in der Topologie zu verwalten.
Hinweis:
Jeder Benutzer, der sich mit SSH bei einer Compute-Instanz anmelden kann, übernimmt die Berechtigungen des Instanz-Principals, die der Instanz zugewiesen sind. Berücksichtigen Sie dies, wenn Sie entscheiden, ob der Admin-Host als Instanz-Principal angegeben werden soll. Sie können dieses Feature jederzeit deaktivieren oder aktivieren, ohne dass dies Auswirkungen auf den Admin-Host hat.-
Um den Admin-Host als Instanz-Principal anzugeben, legen Sie Folgendes in
terraform.tfvarsfest, und führen Sieterraform applyaus.admin_instance_principal = trueDer Admin-Host wird zu einem Mitglied einer dynamischen Gruppe, und eine Policy-Anweisung wird erstellt, damit die dynamische Gruppe alle Ressourcen im Compartment verwalten kann.
-
Um die Instanz-Principal-Berechtigungen vom Admin-Host abzuziehen, legen Sie Folgendes in
terraform.tfvarsfest, und führen Sieterraform applyaus.admin_instance_principal = false
Benachrichtigungen für den Bastion-Host aktivieren oder deaktivieren
Mit dem Oracle Cloud Infrastructure-Benachrichtigungsservice können Sie Statusmeldungen vom Bastion-Host erhalten, wenn Updates eingespielt werden, oder wenn Oracle Ksplice einen bekannten Explokationsversuch erkennt.
Hinweis:
Der Terraform-Code in dieser Lösung konfiguriert nur Benachrichtigungen, wenn Sie das Oracle Autonomous Linux-Standardbild verwenden.-
Um die Benachrichtigungen für den Bastion-Host zu aktivieren, legen Sie die folgenden Variablen in
terraform.tfvarsfest:bastion_notification_enabled = true bastion_notification_endpoint = "email_address" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "topic_name"Im Folgenden finden Sie ein Beispiel für
terraform.tfvarsmit den definierten informativen Variablen.bastion_notification_enabled = true bastion_notification_endpoint = "joe@example.com" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "bastion" - Wenn der Basishost bereits erstellt wurde und Sie jetzt Benachrichtigungen aktivieren möchten, legen Sie diese Variablen fest, und führen Sie
terraform applyerneut aus.- Die erforderlichen Policys werden definiert, damit der Basishost Benachrichtigungen veröffentlichen kann.
- Ein Benachrichtigungsthema wird erstellt, und die von Ihnen angegebene E-Mail-Adresse ist für das Thema abonniert.
- Der Bastion-Host ist so konfiguriert, dass Benachrichtigungen gesendet werden.
Nachdem die Ressourcen erstellt wurden, erhalten Sie eine E-Mail, in der Sie aufgefordert werden, das Abonnement zu bestätigen.
-
Um Benachrichtigungen zu deaktivieren, legen Sie Folgendes in
terraform.tfvarsfest, und führen Sieterraform applyaus.bastion_notification_enabled = false admin_notification_enabled = false