Déployer une instance de conteneur dans Azure

Chaknith Bin
Chaknith Bin
juillet 2, 2024
Mise à jour novembre 19, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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

Conditions préalables

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

Nous avons le modèle de dépôt GitHub prêt pour que vous puissiez le cloner et commencer immédiatement ici :

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 numéro.
  • Les autres variables ne doivent pas être modifiées.

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

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écutez terraform plan 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écutez terraform apply pour appliquer le plan d'exécution à votre infrastructure cloud.

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 doit 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
Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.