Déployer une instance de conteneur dans Azure

This article was translated from English: Does it need improvement?
Translated
View the article in English

UtilisationTerraform sur Azure pour déployer le conteneur Docker IronSecureDoc et le rendre disponible avec une adresse IP et un FQDN publics.

Conditions préalables

Étape 1 : Cloner le modèle de dépôt GitHub

Le modèle de dépôt GitHub est prêt à être cloné pour que vous puissiez commencer immédiatementici:

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

Étape 2 : Modifier tous les noms de ressources

Modifier tous les noms de ressources dans variables.tf

  • resource_group_name : Nom du groupe de ressources.
  • resource_group_location : Emplacement du groupe de ressources. Vous pouvez trouver la région dans REGIONS.md et utiliser la deuxième colonne pour remplir cette variable.
  • container_group_name : Nom du groupe de conteneurs.
  • container_name : Nom du conteneur.
  • image_tag : Le tag de l'image à déployer peut être latest ou n'importe quel nombre.
  • Les autres variables ne doivent pas être modifiées.

Créez secret.tfvars pour contenir toutes les données sensibles et remplissez les variables suivantes

Registre de conteneurs Azure

main.tf ajoute ce qui suit après dns_name_label = var.dns_name_label :

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

variables.tf ajoute :

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 ajoute :

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

Hub Docker

secret.tfvars ajoute :

license_key         = "YOUR-LICENSE-KEY"

Étape 3 : Initialisation de Terraform

Exécutez terraform init pour initialiser le déploiement de Terraform. Cette commande télécharge le fournisseur Azure requis pour gérer vos ressources Azure.

terraform init -upgrade

Étape 4 : Créer un plan d'exécution Terraform

Exécuterplan de terraformation pour créer un plan d'exécution.

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

Étape 5 : Appliquer un plan d'exécution Terraform

Exécuterterraformer appliquer pour appliquer le plan d'exécution à votre infrastructure en nuage.

terraform apply main.tfplan

Étape 6 : Vérifier les résultats

  1. Lorsque vous appliquez le plan d'exécution, Terraform affiche l'adresse IP publique. Pour afficher à nouveau l'adresse IP, exécutez terraform output.
  terraform output -raw container_ipv4_address

ou afficher le FQDN.

  terraform output -raw container_fqdn
  1. Utilisez Postman ou curl pour valider. Le résultat devrait retourner pong.
  curl http://<container_ipv4_address>:8080/v1/document-services/ping

ou utiliser le FQDN

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

Étape 7 : Détruire la ressource

  • Créer un plan d'exécution pour détruire une ressource
terraform plan -destroy -var-files="secret.tfvars" -out main.tfplan
  • Appliquer un plan de destruction de l'exécution
terraform apply main.tfplan