Implementar una instancia de contenedor de C# en Azure
Usa Terraform en Azure para desplegar el contenedor Docker de IronSecureDoc y hacerlo disponible con una dirección IP pública y FQDN.
Requisitos previos
Paso 1: Clonar la plantilla del repositorio de GitHub
Tenemos la plantilla del Repositorio de GitHub lista para que la clones y comiences de inmediato aquí:
https://github.com/iron-software/IronSecureDoc-Terraform/Paso 2: Modificar todos los nombres de los recursos
Modificar todos los nombres de recursos en variables.tf
nombre_del_grupo_de_recursos: 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.nombre_del_grupo_de_contenedores: Nombre del grupo de contenedores.container_name: Nombre del contenedor.image_tag: La etiqueta de la imagen a desplegar; puede serlatesto cualquier número de versión específica.- No es necesario cambiar otras variables.
Cree secret.tfvars para contener todos los datos confidenciales
Rellena las siguientes variables en secret.tfvars.
Registro de contenedores de Azure
Añadir a main.tf 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
}Añadir 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."
}Añadir a secret.tfvars:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"Centro de Docker
Añadir a secret.tfvars:
license_key = "YOUR-LICENSE-KEY"Paso 3: Inicializar Terraform
Ejecuta terraform init para inicializar el despliegue de Terraform. Este comando descarga el proveedor de Azure necesario para gestionar tus recursos de Azure.
terraform init -upgradeterraform init -upgradePaso 4: Crear un plan de ejecución de Terraform
Ejecuta terraform plan para crear un plan de ejecución.
terraform plan -var-file="secret.tfvars" -out main.tfplanterraform plan -var-file="secret.tfvars" -out main.tfplanPaso 5: Aplicar un plan de ejecución de Terraform
Ejecuta terraform apply para aplicar el plan de ejecución a tu infraestructura en la nube.
terraform apply main.tfplanterraform apply main.tfplanPaso 6: Verificar los resultados
Al aplicar el plan de ejecución, Terraform proporciona la dirección IP pública. Para visualizar nuevamente la dirección IP, ejecuta
terraform output.terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELLO muestra el FQDN.
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELLUsa Postman o curl para validar. El resultado esperado debería devolver
pong.curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLO utiliza el FQDN.
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
Paso 7: Destruir el recurso
Crea un plan de ejecución para destruir el recurso.
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELLAplica un plan de ejecución de destrucción.
terraform apply main.tfplanterraform apply main.tfplanSHELL
Preguntas Frecuentes
¿Cómo despliego un contenedor Docker en Azure usando Terraform?
Para desplegar un contenedor Docker en Azure usando Terraform, necesita clonar la plantilla del repositorio GitHub para IronSecureDoc, modificar los nombres de los recursos en `variables.tf`, y crear un archivo `secret.tfvars` con datos sensibles. Luego, inicialice el despliegue con terraform init y cree y aplique un plan de ejecución usando terraform plan y terraform apply.
¿Cuáles son los pasos necesarios para configurar Terraform para el despliegue en Azure?
Primero, instale y configure Terraform, luego autentíquelo con Azure. Clone el repositorio específico de GitHub para IronSecureDoc, modifique los nombres de los recursos en el archivo `variables.tf` y gestione los datos sensibles en `secret.tfvars`. Finalmente, inicialice Terraform y cree un plan de ejecución para el despliegue.
¿Cuál es el papel del Registro de Contenedores de Azure en este despliegue?
El Registro de Contenedores de Azure se utiliza para almacenar las imágenes Docker. Necesita añadir las credenciales del registro en el archivo `main.tf` y especificar la información del registro en `variables.tf` y `secret.tfvars` para que el despliegue acceda y despliegue las imágenes Docker necesarias.
¿Cómo puedo verificar si mi despliegue de Terraform en Azure es exitoso?
Después de aplicar el plan de ejecución de Terraform, ejecute terraform output para obtener la dirección IP pública o FQDN. Use herramientas como Postman o curl para enviar una solicitud de ping al servicio. Un despliegue exitoso retornará 'pong'.
¿Qué comando se usa para inicializar Terraform para despliegues en Azure?
Para inicializar Terraform para despliegues en Azure, use el comando terraform init -upgrade. Esto descarga los plugins de proveedor necesarios para gestionar recursos de Azure.
¿Cómo manejo los datos sensibles en las configuraciones de Terraform?
Los datos sensibles como credenciales de registro y claves de licencia deben almacenarse en un archivo `secret.tfvars`. Este archivo se referencia durante los procesos de planificación y aplicación de Terraform para gestionar de manera segura la información sensible.
¿Cuál es el proceso para destruir recursos desplegados en Azure usando Terraform?
Para destruir recursos desplegados en Azure usando Terraform, cree un plan de ejecución de destrucción con terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan y aplíquelo usando terraform apply main.tfplan.





