Deploy a C# Container Instance in Azure
Użyj Terraform na Azure do wdrożenia kontenera Docker IronSecureDoc i udostępnienia go z publicznym adres IP i FQDN.
Wymagania wstępne
Krok 1: Sklonuj szablon repozytorium GitHub
Mamy gotowy szablon repozytorium GitHub, który możesz sklonować i zacząć używać od razu tutaj:
https://github.com/iron-software/IronSecureDoc-Terraform/
Krok 2: Zmień wszystkie nazwy zasobów
Zmień wszystkie nazwy zasobów w variables.tf
resource_group_name: Nazwa grupy zasobów.resource_group_location: Lokalizacja grupy zasobów. Możesz znaleźć region w REGIONS.md i użyć drugiej kolumny, aby wypełnić tę zmienną.container_group_name: Nazwa grupy kontenerów.container_name: Nazwa kontenera.image_tag: Tag obrazu do wdrożenia; może byćlatestlub dowolny konkretny numer wersji.- Inne zmienne nie wymagają zmiany.
Utwórz secret.tfvars do przechowywania wszystkich danych wrażliwych
Wypełnij następujące zmienne w secret.tfvars.
Azure Container Registry
Dodaj do main.tf po dns_name_label = var.dns_name_label:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}
Dodaj do variables.tf:
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."
}
Dodaj do secret.tfvars:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"
Docker Hub
Dodaj do secret.tfvars:
license_key = "YOUR-LICENSE-KEY"
Krok 3: Zainicjuj Terraform
Uruchom terraform init, aby zainicjować wdrożenie Terraform. To polecenie pobiera dostawcę Azure potrzebnego do zarządzania zasobami Azure.
terraform init -upgrade
terraform init -upgrade
Krok 4: Utwórz plan wykonania Terraform
Uruchom terraform plan, aby utworzyć plan wykonania.
terraform plan -var-file="secret.tfvars" -out main.tfplan
terraform plan -var-file="secret.tfvars" -out main.tfplan
Krok 5: Zastosuj plan wykonania Terraform
Uruchom terraform apply, aby zastosować plan wykonania do infrastruktury chmurowej.
terraform apply main.tfplan
terraform apply main.tfplan
Krok 6: Zweryfikuj wyniki
-
Kiedy zastosujesz plan wykonania, Terraform wyświetli publiczny adres IP. Aby ponownie wyświetlić adres IP, uruchom
terraform output.terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELLLub wyświetl FQDN.
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELL -
Użyj Postman lub curl do weryfikacji. Oczekiwany wynik powinien zwrócić
pong.curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLLub użyj FQDN.
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
Krok 7: Usuń zasób
-
Utwórz plan wykonania do usunięcia zasobu.
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL -
Zastosuj plan wykonania usunięcia.
terraform apply main.tfplanterraform apply main.tfplanSHELL
Często Zadawane Pytania
Jak wdrożyć kontener Docker w Azure przy użyciu Terraform?
Aby wdrożyć kontener Docker w Azure przy użyciu Terraform, należy sklonować szablon repozytorium GitHub dla IronSecureDoc, zmodyfikować nazwy zasobów w pliku `variables.tf` oraz utworzyć plik `secret.tfvars` zawierający dane wrażliwe. Następnie należy zainicjować wdrożenie za pomocą polecenia `terraform init`, a także utworzyć i zastosować plan wykonania przy użyciu poleceń `terraform plan` i `terraform apply`.
Jakie kroki trzeba wykonać, żeby skonfigurować Terraform do wdrożenia w Azure?
Najpierw zainstaluj i skonfiguruj Terraform, a następnie uwierzytelnij go w Azure. Sklonuj konkretne repozytorium GitHub dla IronSecureDoc, zmodyfikuj nazwy zasobów w pliku `variables.tf` i zarządzaj danymi wrażliwymi w pliku `secret.tfvars`. Na koniec zainicjuj Terraform i utwórz plan wykonania w celu wdrożenia.
Jaka jest rola rejestru kontenerów Azure w tym wdrożeniu?
Azure Container Registry służy do przechowywania obrazów Docker. Należy dołączyć poświadczenia rejestru w pliku `main.tf` oraz określić informacje o rejestrze w plikach `variables.tf` i `secret.tfvars`, aby wdrożenie mogło uzyskać dostęp do niezbędnych obrazów Docker i je wdrożyć.
Jak mogę sprawdzić, czy moje wdrożenie Terraform w Azure zakończyło się powodzeniem?
Po zastosowaniu planu wykonania Terraform uruchom terraform output, aby uzyskać publiczny adres IP lub FQDN. Użyj narzędzi takich jak Postman lub curl, aby wysłać żądanie ping do usługi. Pomyślne wdrożenie zwróci komunikat „pong”.
Jakiego polecenia używa się do inicjalizacji Terraform w przypadku wdrożeń w Azure?
Aby zainicjować Terraform dla wdrożeń w Azure, użyj polecenia terraform init -upgrade. Spowoduje to pobranie wtyczek dostawców niezbędnych do zarządzania zasobami Azure.
Jak postępować z danymi wrażliwymi w konfiguracjach Terraform?
Dane wrażliwe, takie jak poświadczenia rejestru i klucze licencyjne, powinny być przechowywane w pliku `secret.tfvars`. Plik ten jest wykorzystywany podczas procesów planowania i wdrażania Terraform w celu bezpiecznego zarządzania informacjami wrażliwymi.
Jak wygląda proces niszczenia wdrożonych zasobów w Azure przy użyciu Terraform?
Aby zniszczyć zasoby wdrożone w Azure przy użyciu Terraform, utwórz plan wykonania destroy za pomocą terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan i zastosuj go za pomocą terraform apply main.tfplan.

