Bereitstellen einer Container-Instanz 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
Wir haben das GitHub-Repository-Template fertig, das Sie hier klonen und sofort loslegen können:
https://github.com/iron-software/IronSecureDoc-Terraform/
Schritt 2: Ändern Sie alle Ressourcennamen
Ändern Sie alle Ressourcennamen in variables.tf
resource_group_name
: Name der Ressourcengruppe.resource_group_location
: Standort der Ressourcengruppe. Sie können die Region aus REGIONS.md entnehmen. Verwenden Sie die zweite Spalte, um diese Variable auszufüllen.container_group_name
: Name der Containergruppe.container_name
: Name des Containers.image_tag
: Das Tag des Images, das bereitgestellt werden soll, kannlatest
oder eine beliebige Zahl sein.- Andere Variablen müssen nicht geändert werden.
Erstellen Sie secret.tfvars
, um alle vertraulichen Daten zu enthalten, und füllen Sie die unten stehenden Variablen aus
Azure Container Registry
main.tf
fügt unten nach dns_name_label = var.dns_name_label
hinzu:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}
variables.tf
fügt hinzu:
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."
default = "latest"
}
secret.tfvars
fügt hinzu:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"
Docker-Hub
secret.tfvars
fügt hinzu:
license_key = "YOUR-LICENSE-KEY"
Schritt 3: Terraform initialisieren
Führen Sie terraform init aus, um den Terraform-Einsatz zu initialisieren. Dieser Befehl lädt den Azure-Anbieter herunter, der für die Verwaltung Ihrer Azure-Ressourcen erforderlich ist.
terraform init -upgrade
Schritt 4: Erstellen eines Terraform-Ausführungsplans
Führen Sie terraform plan aus, um einen Ausführungsplan zu erstellen.
terraform plan -var-file="secret.tfvars" -out main.tfplan
Schritt 5: Anwendung eines Terraform-Ausführungsplans
Führen Sie terraform apply aus, um den Ausführungsplan auf Ihre Cloud-Infrastruktur anzuwenden.
terraform apply main.tfplan
Schritt 6: Überprüfen Sie die Ergebnisse
- Wenn Sie den Ausführungsplan anwenden, gibt Terraform die öffentliche IP-Adresse aus. Um die IP-Adresse erneut anzuzeigen, führen Sie terraform output aus.
terraform output -raw container_ipv4_address
oder den FQDN anzeigen.
terraform output -raw container_fqdn
- Verwenden Sie Postman oder curl zur Validierung. Das Ergebnis sollte
pong
zurückgeben.
curl http://<container_ipv4_address>:8080/v1/document-services/ping
oder FQDN verwenden
curl http://<container_fqdn>:8080/v1/document-services/ping
Schritt 7: Zerstörung der Ressource
- Einen Ausführungsplan für die Zerstörung von Ressourcen erstellen
terraform plan -destroy -var-files="secret.tfvars" -out main.tfplan
- Anwendung eines Ausführungszerstörungsplans
terraform apply main.tfplan