Deploy a C# Container Instance in Azure

This article was translated from English: Does it need improvement?
Translated
View the article in English

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ć latest lub 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
SHELL

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
SHELL

Krok 5: Zastosuj plan wykonania Terraform

Uruchom terraform apply, aby zastosować plan wykonania do infrastruktury chmurowej.

terraform apply main.tfplan
terraform apply main.tfplan
SHELL

Krok 6: Zweryfikuj wyniki

  1. Kiedy zastosujesz plan wykonania, Terraform wyświetli publiczny adres IP. Aby ponownie wyświetlić adres IP, uruchom terraform output.

    terraform output -raw container_ipv4_address
    terraform output -raw container_ipv4_address
    SHELL

    Lub wyświetl FQDN.

    terraform output -raw container_fqdn
    terraform output -raw container_fqdn
    SHELL
  2. Użyj Postman lub curl do weryfikacji. Oczekiwany wynik powinien zwrócić pong.

    curl http://<container_ipv4_address>:8080/v1/document-services/ping
    curl http://<container_ipv4_address>:8080/v1/document-services/ping
    SHELL

    Lub użyj FQDN.

    curl http://<container_fqdn>:8080/v1/document-services/ping
    curl http://<container_fqdn>:8080/v1/document-services/ping
    SHELL

Krok 7: Usuń zasób

  • Utwórz plan wykonania do usunięcia zasobu.

    terraform plan -destroy -var-file="secret.tfvars" -out main.tfplan
    terraform plan -destroy -var-file="secret.tfvars" -out main.tfplan
    SHELL
  • Zastosuj plan wykonania usunięcia.

    terraform apply main.tfplan
    terraform apply main.tfplan
    SHELL

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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2024.10 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu?
uruchom przykład zobacz, jak twój PDF staje się zaszyfrowany.