Deploy a C# Container Instance in Azure
Use Terraform no Azure para implantar o contêiner Docker IronSecureDoc e torná-lo disponível com um endereço IP público e 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 emREGIONS.mde 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
Popule as seguintes variáveis em secret.tfvars.
Registro de contêiner do Azure
Anexe 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
Etapa 4: Criar um Plano de Execução do Terraform
Execute terraform plan para criar um plano de execução.
terraform plan -var-file="secret.tfvars" -out main.tfplan
Etapa 5: Aplicar um Plano de Execução do Terraform
Execute terraform apply para aplicar o plano de execução à sua infraestrutura de nuvem.
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 o endereço IP novamente, execute
terraform output.terraform output -raw container_ipv4_addressSHELLOu exiba o FQDN.
terraform output -raw container_fqdnSHELL -
Use o Postman ou
curlpara validar. O resultado esperado deve retornarpong.curl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLOu use o FQDN.
curl 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.tfplanSHELL -
Aplicar um plano de destruição de execução.
terraform 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 .
How can I verify the deployment of the IronSecureDoc container?
You can verify the deployment by running terraform output to obtain the public IP or FQDN and using tools like Postman or curl to execute a ping, expecting a pong response.
What is the process to destroy the IronSecureDoc resources on Azure?
To destroy the resources, create a destroy execution plan with terraform plan -destroy and then apply it using terraform apply to remove IronSecureDoc resources from Azure.
Can I specify the tag of the IronSecureDoc Docker image during deployment?
Yes, you can specify the tag of the IronSecureDoc Docker image by setting the image_tag variable in the variables.tf file, using either latest or a specific version number.
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 bem estruturados e visualmente atraentes.