Despliegue de una instancia de contenedor en Azure

Utilice Terraform on Azure para desplegar el contenedor Docker IronSecureDoc y hacer que esté disponible con una dirección IP pública y un FQDN.

Requisitos previos

Paso 1: Clonar plantilla de repositorio GitHub

Tenemos la plantilla del repositorio de GitHub lista para que la clones y empieces inmediatamente aquí:


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

Paso 2: Modificar todos los nombres de recursos

Modificar todos los nombres de recursos en variables.tf

  • nombre_grupo_recursos: Nombre del grupo de recursos.
  • resource_group_location: Ubicación del grupo de recursos. Usted puede encontrar la región de REGIONS.md utilizar la segunda columna para rellenar esta variable.
  • nombre_grupo_de_contenedores: Nombre del grupo de contenedores.
  • nombre_contenedor: Nombre del contenedor.
  • etiqueta_imagen: La etiqueta de la imagen a desplegar puede serlatest` o cualquier número.
  • No es necesario cambiar otras variables.

Crear secret.tfvars para contener todos los datos sensibles y rellenar las siguientes variables

Registro de contenedores Azure

main.tf añade lo siguiente 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

Ejecutar plan de terraformación 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

Ejecutar terraformar aplicar para aplicar el plan de ejecución a su infraestructura de 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