Despliegue de una instancia de contenedor en Azure

Chaknith Bin
Chaknith Bin
2 de julio, 2024
Actualizado 19 de noviembre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Utiliza Terraform en Azure para desplegar el contenedor Docker de IronSecureDoc y hacerlo disponible con una dirección IP pública y un FQDN.

Requisitos previos

Paso 1: Clonar plantilla de repositorio GitHub

Tenemos el repositorio de GitHub con la plantilla lista para que la clones y comiences de inmediato aquí:

https://github.com/iron-software/IronSecureDoc-Terraform/

Paso 2: Modificar todos los nombres de recursos

Modifica todos los nombres de recursos en variables.tf

  • resource_group_name: Nombre del grupo de recursos.
  • resource_group_location: Ubicación del grupo de recursos. Puedes encontrar la región en REGIONS.md y usar la segunda columna para completar esta variable.
  • container_group_name: Nombre del grupo de contenedores.
  • container_name: Nombre del contenedor.
  • image_tag: La etiqueta de la imagen para desplegar puede ser latest o cualquier número.
  • No es necesario cambiar otras variables.

Crea secret.tfvars para contener todos los datos sensibles y completa las siguientes variables

Registro de contenedores Azure

main.tf se añade a continuación después de dns_name_label = var.dns_name_label:

image_registry_credential {
  server   = var.registry_server
  username = var.registry_username
  password = var.registry_password
}

variables.tf añade:

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."
  default     = "latest"
}

secret.tfvars añade:

registry_server     = "<registry-name>.azurecr.io"
registry_username   = "YOUR-REGISTRY-USERNAME"
registry_password   = "YOUR-REGISTRY-PASSWORD"
license_key         = "YOUR-LICENSE-KEY"

Centro Docker

secret.tfvars añade:

license_key         = "YOUR-LICENSE-KEY"

Paso 3: Inicializar Terraform

Ejecute terraform init para inicializar el despliegue de Terraform. Este comando descarga el proveedor de Azure necesario para gestionar sus recursos de Azure.

terraform init -upgrade

Paso 4: Crear un plan de ejecución de Terraform

Ejecute terraform plan para crear un plan de ejecución.

terraform plan -var-file="secret.tfvars" -out main.tfplan

Paso 5: Aplicar un plan de ejecución de Terraform

Ejecute terraform apply para aplicar el plan de ejecución a su infraestructura en la nube.

terraform apply main.tfplan

Paso 6: Verificar los resultados

  1. Al aplicar el plan de ejecución, Terraform muestra la dirección IP pública. Para volver a mostrar la dirección IP, ejecute terraform output.
  terraform output -raw container_ipv4_address

o mostrar el FQDN.

  terraform output -raw container_fqdn
  1. Utilice Postman o curl para validar. El resultado debería devolver pong.
  curl http://<container_ipv4_address>:8080/v1/document-services/ping

o utilice FQDN

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

Paso 7: Destruir el recurso

  • Crear un plan de ejecución para destruir el recurso
terraform plan -destroy -var-files="secret.tfvars" -out main.tfplan
  • Aplicar un plan de destrucción de la ejecución
terraform apply main.tfplan
Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.