Deploy a C# Container Instance in Azure
Verwenden Sie Terraform auf Azure , um den IronSecureDoc Docker-Container bereitzustellen und ihn mit einer öffentlichen IP-Adresse und einem FQDN verfügbar zu machen.
Voraussetzungen
Schritt 1: GitHub-Repository-Vorlage klonen
Hier finden Sie die GitHub-Repository-Vorlage, die Sie klonen und sofort loslegen können:
https://github.com/iron-software/IronSecureDoc-Terraform/
Schritt 2: Alle Ressourcennamen ändern
Ändern Sie alle Ressourcennamen in variables.tf
resource_group_name: Name der Ressourcengruppe.resource_group_location: Standort der Ressourcengruppe. Sie können die Region in der Datei REGIONS.md finden und die zweite Spalte verwenden, um diese Variable zu füllen.container_group_name: Name der Containergruppe.container_name: Name des Containers.image_tag: Das Tag des bereitzustellenden Images; Es kannlatestoder eine beliebige andere Versionsnummer sein.
Andere Variablen müssen nicht geändert werden.
Erstellen Sie secret.tfvars, um alle sensiblen Daten zu enthalten.
Füllen Sie die folgenden Variablen in secret.tfvars.
Azure Container Registry
Füge nach dns_name_label = var.dns_name_label an main.tf an:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}
Zu variables.tf hinzufügen:
variable "registry_server" {
type = string
sensitive = false
description = "The server for the container registry. Required if the image is stored in a private registry."
}
variable "registry_username" {
type = string
sensitive = true
description = "Username for the container registry. Required if the image is stored in a private registry."
}
variable "registry_password" {
type = string
sensitive = true
description = "Password for the container registry. Required if the image is stored in a private registry."
}
Zu secret.tfvars hinzufügen:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"
Docker Hub
Zu secret.tfvars hinzufügen:
license_key = "YOUR-LICENSE-KEY"
Schritt 3: Terraform initialisieren
Führen Sie terraform init aus, um die Terraform-Bereitstellung zu initialisieren. Dieser Befehl lädt den Azure-Provider herunter, der zum Verwalten Ihrer Azure-Ressourcen erforderlich ist.
terraform init -upgrade
terraform init -upgrade
Schritt 4: Erstellen Sie einen Terraform-Ausführungsplan
Führen Sie den Befehl terraform plan aus, um einen Ausführungsplan zu erstellen.
terraform plan -var-file="secret.tfvars" -out main.tfplan
terraform plan -var-file="secret.tfvars" -out main.tfplan
Schritt 5: Terraform-Ausführungsplan anwenden
Führen Sie terraform apply aus , um den Ausführungsplan auf Ihre Cloud-Infrastruktur anzuwenden.
terraform apply main.tfplan
terraform apply main.tfplan
Schritt 6: Ergebnisse überprüfen
-
Wenn Sie den Ausführungsplan anwenden, gibt Terraform die öffentliche IP-Adresse aus. Um die IP-Adresse erneut anzuzeigen, führen Sie
terraform outputaus.terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELLOder den FQDN anzeigen.
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELL -
Verwenden Sie Postman oder curl zur Validierung. Das erwartete Ergebnis sollte
pongzurückgeben.curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLOder verwenden Sie den FQDN.
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
Schritt 7: Ressource zerstören
-
Erstellen Sie einen Ausführungsplan für die Zerstörung der Ressource.
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL -
Einen Zerstörungsplan ausführen.
terraform apply main.tfplanterraform apply main.tfplanSHELL
Häufig gestellte Fragen
Wie deploye ich einen Docker-Container in Azure mit Terraform?
Um einen Docker-Container in Azure mit Terraform bereitzustellen, müssen Sie die GitHub-Repository-Vorlage für IronSecureDoc klonen, die Ressourcennamen in `variables.tf` ändern und eine Datei `secret.tfvars` mit sensiblen Daten erstellen. Initialisieren Sie dann die Bereitstellung mit terraform init und erstellen und wenden Sie einen Ausführungsplan mit terraform plan und terraform apply an.
Welche Schritte sind notwendig, um Terraform für Azure-Bereitstellungen einzurichten?
Installieren und konfigurieren Sie zuerst Terraform, dann authentifizieren Sie sich bei Azure. Klonen Sie das spezifische GitHub-Repository für IronSecureDoc, ändern Sie Ressourcennamen in der Datei `variables.tf` und verwalten Sie sensible Daten in `secret.tfvars`. Schließlich initialisieren Sie Terraform und erstellen einen Ausführungsplan für die Bereitstellung.
Welche Rolle spielt die Azure Container Registry in dieser Bereitstellung?
Die Azure Container Registry wird verwendet, um die Docker-Images zu speichern. Sie müssen die Registry-Anmeldeinformationen in der `main.tf`-Datei hinzufügen und die Registry-Informationen in `variables.tf` und `secret.tfvars` angeben, damit die Bereitstellung auf die benötigten Docker-Images zugreifen und diese bereitstellen kann.
Wie kann ich überprüfen, ob meine Terraform-Bereitstellung in Azure erfolgreich ist?
Nachdem Sie den Terraform-Ausführungsplan angewendet haben, führen Sie terraform output aus, um die öffentliche IP-Adresse oder den FQDN zu erhalten. Verwenden Sie Tools wie Postman oder curl, um eine Ping-Anfrage an den Dienst zu senden. Eine erfolgreiche Bereitstellung gibt 'pong' zurück.
Welcher Befehl wird verwendet, um Terraform für Azure-Bereitstellungen zu initialisieren?
Um Terraform für Azure-Bereitstellungen zu initialisieren, verwenden Sie den Befehl terraform init -upgrade. Dadurch werden die notwendigen Provider-Plugins heruntergeladen, die zum Verwalten von Azure-Ressourcen benötigt werden.
Wie gehe ich mit sensiblen Daten in Terraform-Konfigurationen um?
Sensible Daten wie Registry-Anmeldeinformationen und Lizenzschlüssel sollten in einer `secret.tfvars` Datei gespeichert werden. Diese Datei wird während der Terraform-Plan- und Anwendungsprozesse referenziert, um sensible Informationen sicher zu verwalten.
Was ist der Prozess zum Zerstören bereitgestellter Ressourcen in Azure mit Terraform?
Um bereitgestellte Ressourcen in Azure mit Terraform zu zerstören, erstellen Sie einen Zerstörungs-Ausführungsplan mit terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan und wenden Sie ihn mit terraform apply main.tfplan an.

