在 Azure 中部署 C# 容器執行個體
使用Azure 上的 Terraform部署 IronSecureDoc Docker 容器,並使其具有公用 IP 位址和 FQDN。
先決條件
步驟 1:複製 GitHub 倉庫模板
我們已為您準備好 GitHub 倉庫模板,您可以複製並立即開始使用,連結如下:
https://github.com/iron-software/IronSecureDoc-Terraform/步驟二:修改所有資源名稱
修改variables.tf中的所有資源名稱
resource_group_name:資源群組的名稱。resource_group_location:資源組的位置。您可以從 REGIONS.md 檔案中找到區域,並使用第二列來填入此變數。container_group_name:容器群組的名稱。container_name: 容器的名稱。image_tag: 要部署的鏡像的標籤; 可以是latest,也可以是任何特定版本號。- 其他變數無需更改。
建立secret.tfvars以包含所有敏感數據
在secret.tfvars中填入以下變數。
Azure容器註冊表
在main.tf中dns_name_label = var.dns_name_label之後新增:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}加到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."
}加到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
加到secret.tfvars :
license_key = "YOUR-LICENSE-KEY"步驟 3:初始化 Terraform
執行terraform init來初始化 Terraform 部署。 此指令會下載管理 Azure 資源所需的 Azure 提供者。
terraform init -upgradeterraform init -upgrade步驟 4:建立 Terraform 執行計劃
運行terraform plan以建立執行計劃。
terraform plan -var-file="secret.tfvars" -out main.tfplanterraform plan -var-file="secret.tfvars" -out main.tfplan步驟 5:應用 Terraform 執行計劃
執行terraform apply將執行計畫套用到您的雲端基礎架構。
terraform apply main.tfplanterraform apply main.tfplan步驟六:驗證結果
應用執行計劃時,Terraform 會輸出公網 IP 位址。 若要再次顯示 IP 位址,請執行
terraform output。terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELL或顯示完全限定網域名稱 (FQDN)。
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELL使用 Postman 或 curl 進行驗證。 預期結果應回傳
pong。curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELL或使用完全限定域名 (FQDN)。
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
步驟 7:銷毀資源
制定銷毀資源的執行計畫。
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL應用銷毀計劃。
terraform apply main.tfplanterraform apply main.tfplanSHELL
常見問題解答
如何使用 Terraform 在 Azure 中部署 Docker 容器?
要在 Azure 中使用 Terraform 部署 Docker 容器,你需要克隆 IronSecureDoc 的 GitHub 存儲庫模板,修改 `variables.tf` 中的資源名稱,並創建含有敏感數據的 `secret.tfvars` 文件。然後,通過 terraform init 初始化部署,並使用 terraform plan 和 terraform apply 創建和應用執行計畫。
設置 Terraform 用於 Azure 部署的必要步驟是什麼?
首先,安裝並配置 Terraform,然後將其驗證到 Azure。克隆 IronSecureDoc 專用的 GitHub 存儲庫,修改 `variables.tf` 文件中的資源名稱,並在 `secret.tfvars` 中管理敏感數據。最後,初始化 Terraform 並創建部署的執行計畫。
Azure 容器註冊表在此部署中的角色是什麼?
Azure 容器註冊表用於存儲 Docker 映像。你需要將註冊表憑據附加到 `main.tf` 文件中,並在 `variables.tf` 和 `secret.tfvars` 中指定註冊表信息,以便部署能夠訪問和部署所需的 Docker 映像。
我如何驗證 Azure 中 Terraform 部署是否成功?
在應用 Terraform 執行計畫後,運行 terraform output 獲取公共 IP 地址或 FQDN。使用 Postman 或 curl 等工具發送 ping 請求給服務。成功的部署會返回 'pong'。
用於初始化 Azure 部署的 Terraform 的命令是什麼?
要初始化 Azure 部署的 Terraform,使用命令 terraform init -upgrade。這將下載管理 Azure 資源所需的提供程序插件。
如何在 Terraform 配置中處理敏感數據?
敏感數據如註冊表憑據和許可密鑰應存儲在 `secret.tfvars` 文件中。此文件在 Terraform 的計劃和應用過程中被引用,以安全地管理敏感信息。
使用 Terraform 在 Azure 中銷毀已部署資源的過程是什麼?
要使用 Terraform 銷毀 Azure 中的已部署資源,使用 terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan 創建銷毀執行計畫,並使用 terraform apply main.tfplan 應用它。





