Deploy a C# Container Instance in Azure
Utilisez Terraform sur Azure pour déployer le conteneur Docker IronSecureDoc et le rendre accessible via une adresse IP publique et un nom de domaine pleinement qualifié (FQDN).
Prérequis
Étape 1 : Cloner le modèle de dépôt GitHub
Nous avons le modèle de dépôt GitHub prêt à être cloné pour que vous puissiez 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 le fichier REGIONS.md et utiliser la deuxième colonne pour renseigner cette variable.container_group_name: Nom du groupe de conteneurs.container_name: Nom du conteneur.image_tag: L'étiquette de l'image à déployer ; Il peut s'agir delatestou de tout autre numéro de version spécifique.- Il n'est pas nécessaire de modifier les autres variables.
Créer secret.tfvars pour contenir toutes les données sensibles
Remplissez les variables suivantes dans secret.tfvars.
Registre de conteneurs Azure
Ajouter à main.tf après dns_name_label = var.dns_name_label :
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}
Ajouter à 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."
}
Ajouter à secret.tfvars:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"
Docker Hub
Ajouter à secret.tfvars:
license_key = "YOUR-LICENSE-KEY"
Étape 3 : Initialiser Terraform
Exécutez terraform init pour initialiser le déploiement Terraform. Cette commande télécharge le fournisseur Azure nécessaire à la gestion de vos ressources Azure.
terraform init -upgrade
terraform init -upgrade
Étape 4 : Créer un plan d'exécution Terraform
Exécutez la commande terraform plan pour créer un plan d'exécution.
terraform plan -var-file="secret.tfvars" -out main.tfplan
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
terraform apply main.tfplan
Étape 6 : Vérifier les résultats
-
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_addressterraform output -raw container_ipv4_addressSHELLOu affichez le nom de domaine complet (FQDN).
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELL -
Utilisez Postman ou curl pour valider. Le résultat attendu devrait renvoyer
pong.curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLOu utilisez le nom de domaine pleinement qualifié (FQDN).
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
Étape 7 : Détruire la ressource
-
Élaborer un plan d'exécution pour la destruction de la ressource.
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL -
Appliquer un plan de destruction d'exécution.
terraform apply main.tfplanterraform apply main.tfplanSHELL
Questions Fréquemment Posées
Comment déployer un conteneur Docker dans Azure en utilisant Terraform ?
Pour déployer un conteneur Docker dans Azure à l'aide de Terraform, vous devez cloner le modèle de répertoire GitHub pour IronSecureDoc, modifier les noms des ressources dans le `variables.tf`, et créer un fichier `secret.tfvars` avec des données sensibles. Ensuite, initialisez le déploiement avec terraform init, et créez et appliquez un plan d'exécution en utilisant terraform plan et terraform apply.
Quelles sont les étapes nécessaires pour configurer Terraform pour un déploiement Azure ?
Tout d'abord, installez et configurez Terraform, puis authentifiez-le à Azure. Clonez le répertoire GitHub spécifique pour IronSecureDoc, modifiez les noms des ressources dans le fichier `variables.tf` et gérez les données sensibles dans `secret.tfvars`. Enfin, initialisez Terraform et créez un plan d'exécution pour le déploiement.
Quel est le rôle de l'Azure Container Registry dans ce déploiement ?
Azure Container Registry est utilisé pour stocker les images Docker. Vous devez ajouter les identifiants du registre dans le fichier `main.tf` et spécifier les informations du registre dans `variables.tf` et `secret.tfvars` pour que le déploiement accède et déploie les images Docker nécessaires.
Comment puis-je vérifier si mon déploiement Terraform dans Azure est réussi ?
Après avoir appliqué le plan d'exécution Terraform, exécutez terraform output pour obtenir l'adresse IP publique ou le FQDN. Utilisez des outils comme Postman ou curl pour envoyer une requête ping au service. Un déploiement réussi retournera 'pong'.
Quelle commande est utilisée pour initialiser Terraform pour les déploiements Azure ?
Pour initialiser Terraform pour les déploiements Azure, utilisez la commande terraform init -upgrade. Cela télécharge les plugins fournisseurs nécessaires pour gérer les ressources Azure.
Comment gérer les données sensibles dans les configurations Terraform ?
Les données sensibles telles que les identifiants du registre et les clés de licence doivent être stockées dans un fichier `secret.tfvars`. Ce fichier est référencé lors des processus de planification et d'application de Terraform pour gérer de manière sécurisée les informations sensibles.
Quel est le processus pour détruire les ressources déployées dans Azure à l'aide de Terraform ?
Pour détruire les ressources déployées dans Azure à l'aide de Terraform, créez un plan d'exécution de destruction avec terraform plan -destroy -var-file='secret.tfvars' -out main.tfplan et appliquez-le en utilisant terraform apply main.tfplan.

