Deploy a C# Container Instance in Azure

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

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 ser latest ou 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
SHELL

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
SHELL

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
SHELL

Etapa 6: Verifique os resultados

  1. 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_address
    terraform output -raw container_ipv4_address
    SHELL

    Ou exiba o FQDN.

    terraform output -raw container_fqdn
    terraform output -raw container_fqdn
    SHELL
  2. Use o Postman ou o curl para validar. O resultado esperado deve retornar pong.

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

    Ou use o FQDN.

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

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.tfplan
    terraform plan -destroy -var-file="secret.tfvars" -out main.tfplan
    SHELL
  • Aplicar um plano de destruição de execução.

    terraform apply main.tfplan
    terraform apply main.tfplan
    SHELL

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 .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Versão: 2024.10 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu PDF ser criptografado.