Despliegue de una instancia de contenedor en Azure
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 serlatest
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
- 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
- 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