Deploy a C# Container Instance in Azure
Utilize o Terraform no Azure para implantar o contêiner Docker do IronSecureDoc e torná-lo disponível com um endereço IP público e um FQDN.
Pré-requisitos
Passo 1: Clonar o modelo do repositório GitHub
Já temos o modelo de repositório GitHub pronto para você clonar e começar imediatamente aqui :
https://github.com/iron-software/IronSecureDoc-Terraform/
Etapa 2: Modificar todos os nomes de recursos
Modifique Todos os Nomes de Recursos em variables.tf
resource_group_name: Nome do grupo de recursos.resource_group_location: Localização do grupo de recursos. Você pode encontrar a região em REGIONS.md e usar a segunda coluna para preencher esta variável.container_group_name: Nome do grupo de contêineres.container_name: Nome do contêiner.image_tag: A tag da imagem a ser implantada; pode serlatestou qualquer número de versão específico.- Não é necessário alterar outras variáveis.
Crie secret.tfvars para Conter Todos os Dados Sensíveis
Preencha as seguintes variáveis em secret.tfvars.
Registro de contêiner do Azure
Adicione a main.tf após dns_name_label = var.dns_name_label:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}
Adicione a 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."
}
Adicione a 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
Adicione a secret.tfvars:
license_key = "YOUR-LICENSE-KEY"
Etapa 3: Inicializar o Terraform
Execute terraform init para inicializar a implantação do Terraform. Este comando baixa o provedor Azure necessário para gerenciar seus recursos do Azure.
terraform init -upgrade
terraform init -upgrade
Etapa 4: Criar um Plano de Execução do Terraform
Execute o comando terraform plan para criar um plano de execução.
terraform plan -var-file="secret.tfvars" -out main.tfplan
terraform plan -var-file="secret.tfvars" -out main.tfplan
Etapa 5: Aplicar um Plano de Execução do Terraform
Execute o comando terraform apply para aplicar o plano de execução à sua infraestrutura em nuvem.
terraform apply main.tfplan
terraform apply main.tfplan
Etapa 6: Verifique os resultados
-
Ao aplicar o plano de execução, o Terraform gera o endereço IP público. Para exibir novamente o endereço IP, execute
terraform output.terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELLOu exiba o FQDN.
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELL -
Use o Postman ou o curl para validar. O resultado esperado deve retornar
pong.curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLOu use o FQDN.
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
Etapa 7: Destruir o recurso
-
Criar um plano de execução para a destruição do recurso.
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL -
Aplicar um plano de destruição de execução.
terraform apply main.tfplanterraform apply main.tfplanSHELL
Perguntas frequentes
Como faço para implantar um contêiner Docker no Azure usando o Terraform?
Para implantar um contêiner Docker no Azure usando o Terraform, você precisa clonar o modelo do repositório GitHub do IronSecureDoc, modificar os nomes dos recursos no arquivo `variables.tf` e criar um arquivo `secret.tfvars` com dados confidenciais. Em seguida, inicialize a implantação com terraform init e crie e aplique um plano de execução usando terraform plan e terraform apply .
Quais são os passos necessários para configurar o Terraform para implantação no Azure?
Primeiro, instale e configure o Terraform e, em seguida, autentique-o no Azure. Clone o repositório específico do GitHub para o IronSecureDoc, modifique os nomes dos recursos no arquivo `variables.tf` e gerencie os dados confidenciais em `secret.tfvars`. Por fim, inicialize o Terraform e crie um plano de execução para a implantação.
Qual é o papel do Registro de Contêineres do Azure nesta implantação?
O Registro de Contêineres do Azure é usado para armazenar as imagens do Docker. Você precisa adicionar as credenciais do registro no arquivo `main.tf` e especificar as informações do registro nos arquivos `variables.tf` e `secret.tfvars` para que a implantação possa acessar e implantar as imagens do Docker necessárias.
Como posso verificar se minha implantação do Terraform no Azure foi bem-sucedida?
Após aplicar o plano de execução do Terraform, execute o terraform output para obter o endereço IP público ou o FQDN. Use ferramentas como o Postman ou curl para enviar uma solicitação ping ao serviço. Uma implantação bem-sucedida retornará 'pong'.
Qual comando é usado para inicializar o Terraform para implantações no Azure?
Para inicializar o Terraform para implantações no Azure, use o comando terraform init -upgrade . Isso baixa os plugins de provedor necessários para gerenciar recursos do Azure.
Como lidar com dados sensíveis em configurações do Terraform?
Dados sensíveis, como credenciais de registro e chaves de licença, devem ser armazenados em um arquivo `secret.tfvars`. Esse arquivo é referenciado durante os processos de planejamento e aplicação do Terraform para gerenciar informações sensíveis com segurança.
Qual é o processo para destruir recursos implantados no Azure usando o Terraform?
Para destruir recursos implantados no Azure usando o Terraform, crie um plano de execução de destruição com terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan e aplique-o usando terraform apply main.tfplan .

