Cet exemple complet décrit la création d'un déploiement à l'aide d'une machine virtuelle utilisant une image optimisée pour les conteneurs. Pour en savoir plus sur l'utilisation de conteneurs avec Compute Engine, consultez la page Images Compute Engine optimisées pour les conteneurs.
Ce didacticiel vous apprend à effectuer les opérations suivantes :
- Créer un manifeste de conteneur simple
- Créer une configuration et un modèle qui utilise une image de conteneur
- Déployer vos ressources et vérifier que le déploiement a réussi
Créer un manifeste de conteneur
Pour utiliser des conteneurs, vous devez définir un fichier manifeste de conteneur. Celui-ci décrit des propriétés telles que l'image de conteneur, les conteneurs à lancer, les commandes à exécuter au démarrage et les ports à activer.
Créez un fichier nommé container_manifest.yaml
avec le contenu suivant :
Ce fichier manifeste crée un conteneur nommé simple-echo qui utilise l'image de conteneur Hello Application et lance un serveur Echo qui écoute sur le port 8080.
Créer un modèle et une configuration
Vous allez ensuite créer un modèle qui lance une instance de machine virtuelle avec une image optimisée pour les conteneurs. Créez un fichier nommé container_vm.[jinja|py]
avec le contenu suivant :
Jinja
Python
Créez le fichier de schéma correspondant, qui applique la structure du modèle :
Jinja
Python
Notez qu'il existe un certain nombre de paramètres définis dans ce modèle, dont :
- Les variables d'environnement
deployment
,name
etproject
. Deployment Manager renseigne automatiquement ces variables sans que vous ayez besoin d'intervenir. - Les propriétés
zone
,containerImage
etcontainerManifest
, qui seront définies dans la configuration.
Créez un fichier de configuration nommé container_vm.yaml
qui se présente comme suit :
Jinja
Python
Veillez à remplacer ZONE_TO_RUN
par la zone souhaitée pour votre machine virtuelle. Notez que le fichier a également défini l'image de conteneur à utiliser et le fichier manifeste de conteneur que vous avez créé précédemment.
Déployer votre instance de machine virtuelle
Enfin, déployez votre instance de machine virtuelle à l'aide de la Google Cloud CLI:
gcloud deployment-manager deployments create my-container-deployment \
--config container_vm.yaml
Une fois le déploiement créé, vous pouvez en afficher les détails. Exemple :
$ gcloud deployment-manager deployments describe my-container-deployment
creationTimestamp: '2015-04-02T12:24:31.645-07:00'
fingerprint: ''
id: '8602410885927938432'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-container-deployment/manifests/manifest-1428002671645
name: my-container-deployment
state: DEPLOYED
resources:
NAME TYPE ID UPDATE_STATE ERRORS
my-container-deployment-my-container-vm compute.v1.instance 3775082612632070557 COMPLETED -
Vérifier que votre instance est en cours d'exécution
Pour tester le démarrage de votre instance de conteneur, accédez à l'adresse IP externe de la machine virtuelle dans votre navigateur, dans lequel hello world
doit s'afficher :
Ajoutez une règle de pare-feu Compute Engine pour pouvoir interroger le trafic de la machine virtuelle via le port 8080 :
gcloud compute firewall-rules create allow-8080 --allow tcp:8080
Récupérez l'adresse IP externe de votre instance :
$ gcloud compute instances describe my-container-deployment-my-container-vm ... name: my-container-vm-my-container-deployment networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 104.197.8.138 type: ONE_TO_ONE_NAT name: nic0 network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default networkIP: 10.240.97.220 scheduling: automaticRestart: true onHostMaintenance: MIGRATE selfLink: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-container-deployment-my-container-vm status: RUNNING tags: fingerprint: 42WmSpB8rSM= zone: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a ...
Dans ce cas, l'adresse IP externe est
104.197.8.138
.Dans une fenêtre de navigateur, saisissez l'adresse IP externe et le port 8080 dans la barre de navigation. Par exemple,
104.197.8.138:8080
.Si l'opération réussit, le message
hello world
s'affiche.
Supprimer votre déploiement (Facultatif)
Si vous souhaitez réaliser des économies et n'avez plus besoin de votre déploiement, supprimez-le.
gcloud deployment-manager deployments delete my-container-deployment
Étapes suivantes
Pour en savoir plus sur Deployment Manager, consultez les guides de l'utilisateur complets ou la documentation de l'API.
Essayez d'autres didacticiels :
- Créer une application de journal équilibrée pour les charges réseau
- Créer une application de journal équilibrée pour les charges HTTP