Ce document décrit les bonnes pratiques à adopter lors de l'utilisation de familles d'images sur Compute Engine.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
IMAGE_FAMILY_NAME
: nom de la famille d'images dans laquelle effectuer la recherche. Pour obtenir la liste complète des noms de familles d'images, consultez la page Détails des systèmes d'exploitation.IMAGE_PROJECT
: nom du projet d'image. Pour obtenir la liste complète des noms de projets d'images, consultez la section Détails des systèmes d'exploitation.IMAGE_PROJECT
: nom du projet d'image. Pour obtenir la liste complète des noms de projets d'images, consultez la section Détails des systèmes d'exploitation.IMAGE_FAMILY_NAME
: nom de la famille d'images dans laquelle effectuer la recherche. Pour obtenir la liste complète des noms de familles d'images, consultez la page Détails des systèmes d'exploitation.IMAGE_FAMILY_NAME
: nom de la famille d'images dans laquelle effectuer la recherche. Pour obtenir la liste complète des noms de familles d'images, consultez la page Détails des systèmes d'exploitation.IMAGE_PROJECT
: nom du projet d'image. Pour obtenir la liste complète des noms de projets d'images, consultez la section Détails des systèmes d'exploitation.ZONE
: zone que vous souhaitez interroger.IMAGE_PROJECT
: nom du projet d'image. Pour obtenir la liste complète des noms de projets d'images, consultez la section Détails des systèmes d'exploitation.ZONE
: zone que vous souhaitez interroger.IMAGE_FAMILY_NAME
: nom de la famille d'images dans laquelle effectuer la recherche. Pour obtenir la liste complète des noms de familles d'images, consultez la page Détails des systèmes d'exploitation.- Configurez un environnement de test distinct de votre environnement de production.
- Dans l'environnement de test, procédez comme suit :
- Créez une famille d'images personnalisées à partir de la famille d'images sources.
- Vérifiez la stabilité de la nouvelle image dans la famille d'images personnalisées par rapport à vos charges de travail.
- Une fois la validation effectuée, déplacez cette famille d'images personnalisées vers un environnement de production.
Dans votre projet de test, créez une image à partir de la famille d'images sources. Cette nouvelle famille d'images sources doit également avoir sa propre famille d'images personnalisées à référencer dans l'environnement de test. Pour créer l'image avec une famille d'images personnalisées, exécutez la commande suivante :
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
Remplacez les éléments suivants :
test-image-name
: nom de votre image de test.source-project
: projet auquel appartient la famille d'images sources.source-image-family
: nom de la famille d'images sources.test-project
: nom du projet de test auquel vous souhaitez ajouter la famille d'images.test-image-family
: nom de votre famille d'images de test.
À l'aide de votre famille d'images personnalisées
test-image-family
, créez une VM pour tester votre charge de travail. Pour créer la VM, exécutez la commande suivante :gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
Remplacez les éléments suivants :
test-instance-name
: nom de votre instance de test.test-image-family
: nom de votre famille d'images de test.test-project
: nom de votre projet de test.
Après avoir vérifié que cette image fonctionne bien pour votre charge de travail, copiez-la dans votre environnement de production.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
Remplacez les éléments suivants :
prod-image-name
: nom de votre image de production.test-image-family
: nom de votre famille d'images de test.test-project
: projet auquel appartient la famille d'images de test.prod-project
: nom de votre projet qui se trouve dans l'environnement de production.prod-image-family
: nom de la famille d'images que vous souhaitez utiliser dans votre environnement de production.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Familles d'images publiques
Compute Engine fournit des familles d'images pour vous aider à vérifier que vos systèmes d'automatisation peuvent référencer les dernières images. En tant qu'administrateur, vous pouvez regrouper un ensemble d'images en tant que famille d'images. Ainsi, les utilisateurs ne doivent retenir que le nom de la famille, plutôt que le nom exact d'une image. Comme les noms d'images doivent être uniques, les pipelines de création d'images créent souvent des noms intégrant des informations telles que le nom de l'application, la date et la version (par exemple,
my-application-v3-20210101
). Dans les outils d'automatisation, vous pouvez référencer le nom de la famille d'images au lieu de devoir mettre à jour le nom de l'image à intervalles réguliers. L'utilisation de familles d'images vous permet de toujours accéder à la dernière image de la famille, par exemple,my-application
.Les images publiques sont regroupées dans des familles d'images. Une famille d'images publique pointe toujours vers la dernière version d'une image disponible dans chaque zone. Lorsque de nouvelles images sont publiées mondialement, leur disponibilité initiale dans les familles d'images dépend de la zone, ce qui améliore la tolérance aux pannes zonale de vos workflows lors des mises à jour des images Google.
Lors du déploiement de l'image, la dernière version d'une image au sein d'une famille d'images peut différer selon les zones. Par exemple, la famille d'images
debian-10
du projetdebian-cloud
pointe toujours vers l'image Debian 10 la plus récente, mais l'image Debian 10 la plus récente peut ne pas être la même dans la zoneus-central1-a
et dans la zonesouthamerica-east1-b
.Lorsque vous créez des VM à partir de familles d'images à l'aide de Google Cloud CLI, Compute Engine utilise la dernière image disponible dans la zone de votre VM pour votre requête. Lorsque vous créez des VM à l'aide de la console Google Cloud, Compute Engine n'affiche que les images publiques disponibles dans la zone sélectionnée. Si vous souhaitez créer des VM à l'aide de la dernière image disponible mondialement, utilisez la commande
instances create
de gcloud CLI et spécifiez--image-family-scope=global
.Afficher la dernière version d'image disponible
Vous pouvez afficher la dernière image disponible dans le monde entier dans une famille d'images ou afficher la dernière image disponible dans une zone particulière.
Mondialement
Pour afficher la dernière image disponible mondialement dans une famille d'images, utilisez l'une des méthodes suivantes :
gcloud
Exécutez la commande
gcloud compute images describe-from-family
:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
Remplacez l'élément suivant :
REST
Envoyez une requête
GET
à la méthodeimages.getFromFamily
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
Remplacez l'élément suivant :
Par zone
Pour afficher la dernière image disponible dans une famille d'images pour une zone spécifique, utilisez l'une des méthodes suivantes :
gcloud
Exécutez la commande
gcloud compute images describe-from-family
avec l'option--zone
:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
Remplacez les éléments suivants :
REST
Envoyez une requête
GET
à la méthodeimageFamilyViews
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
Remplacez l'élément suivant :
Familles d'images personnalisées
Vous pouvez créer des familles d'images personnalisées pour vos images personnalisées. La famille d'images pointe vers l'image la plus récente que vous avez utilisée pour créer la famille d'images. Pour restaurer une version précédente de la famille d'images, vous pouvez rendre obsolète l'image la plus récente de cette famille (tant que l'image précédente n'est pas obsolète). Pour en savoir plus, consultez la section Définir des versions d'images dans une famille d'images.
Pour créer une image avec une famille d'images ou pour créer une famille d'images s'il n'en existe pas, vous devez ajouter une option
--family
supplémentaire à l'étape de création de l'image, par exemple :gcloud compute images create my-application-v3-20210101 \ --source-disk my-application-disk-1 \ --source-disk-zone us-central1-f \ --family my-application
Après avoir exécuté cette commande, tout appel à exécuter une instance basée sur l'image
my-application
pointe vers l'image nouvellement créée,my-application-v3-20210101
.Lorsque vous choisissez un nom pour votre famille d'images, consultez la section Convention d'attribution de noms.
Utiliser des familles d'images
Bien que les familles d'images vous permettent de référencer la dernière image, celle-ci peut entraîner une incompatibilité avec votre application si elle n'est pas validée et causer des problèmes dans un environnement de production. Si vous souhaitez tirer parti des avantages des familles d'images tout en réduisant les risques, nous vous recommandons de tester la dernière image référencée de la famille d'images avant de l'utiliser dans votre environnement de production.
En résumé, vous pouvez adopter l'approche suivante :
Par exemple, la procédure peut se présenter comme suit :
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-