Lorsque vous démarrez une instance de machine virtuelle (VM) à l'aide d'images publiques fournies par Google, un environnement invité est automatiquement installé sur l'instance de VM. L'environnement invité est un ensemble de scripts, de daemons et de binaires qui lisent le contenu du serveur de métadonnées pour que la VM s'exécute correctement sur Compute Engine. Un serveur de métadonnées est un canal de communication permettant de transférer des informations d'un client au système d'exploitation invité.
Ce document présente les composants de l'environnement invité et les systèmes d'exploitation compatibles, et explique comment installer et mettre à jour manuellement l'environnement invité.
Quand installer ou mettre à jour manuellement l'environnement invité
Les instances de VM créées à l'aide d'images publiques fournies par Google incluent un environnement invité qui est installé par défaut.
Suivez la procédure Valider l'environnement invité pour vérifier si celui-ci est en cours d'exécution sur votre instance.
Dans certains cas, l'environnement invité installé peut devenir obsolète. Si l'environnement invité est disponible sur votre instance, mais qu'il est obsolète, mettez-le à jour.
Dans le cas contraire, vous devrez peut-être installer manuellement l'environnement invité dans les conditions suivantes :
Vous importez une image personnalisée ou un disque virtuel sur la plate-forme Compute Engine, et vous choisissez de ne pas autoriser l'installation automatique de l'environnement invité.
Lorsque vous importez des disques virtuels ou des images personnalisées, vous pouvez autoriser Compute Engine à installer l'environnement invité pour vous. Toutefois, si vous décidez de ne pas installer l'environnement invité pendant le processus d'importation, vous devez suivre la procédure manuelle pour installer l'environnement invité.
Vous effectuez la migration de VM vers Compute Engine à l'aide de Migrate to Virtual Machines.
Vous utilisez une image qui ne dispose pas des optimisations d'environnement invité pour le SSD local.
Vous disposez d'instances qui utilisent une image antérieure à la version
v20141218
.
Si vous devez installer manuellement l'environnement invité, consultez la section Installer l'environnement invité.
Systèmes d'exploitation compatibles
Chaque système d'exploitation compatible disponible sur Compute Engine nécessite des packages d'environnement invité spécifiques. Ces packages sont mis à disposition par Google ou par le propriétaire du système d'exploitation. Pour en savoir plus sur la création des packages d'environnement invité, consultez les sections "Différences notables par rapport aux images standards" du document Détails du système d'exploitation.
Environnement invité Linux
Que l'environnement invité Linux soit créé par Google ou par le propriétaire du système d'exploitation, certains composants clés sont applicables à toutes les générations.
Les composants de base d'un environnement invité Linux sont fournis sous la forme de packages deb
ou rpm
créés avec les configurations appropriées pour les distributions compatibles.
Vous trouverez ci-dessous un récapitulatif des principaux scripts, daemons et packages composant l'environnement invité Linux :
Le package
google-compute-engine
contient les composants suivants :- Scripts d'initialisation système pour
systemd
. - Configurations système, telles que les règles
udev
etsysctl
, et les configurationsrsyslog
etdhcp
, utilisées pour définir le nom d'hôte. - Scripts Bash exécutés au démarrage de l'instance.
Ce package dépend des packages
google-guest-agent
etgoogle-compute-engine-oslogin
.Pour examiner le code source de ce package, consultez la section guest-configs sur GitHub.
- Scripts d'initialisation système pour
Le package
google-guest-agent
contient l'exécutable de l'agent invité et des scripts de métadonnées qui s'exécutent sur le système d'exploitation invité pour assurer la compatibilité avec les fonctionnalités de Compute Engine. Ces fonctionnalités incluent la gestion des comptes, l'intégration d'OS Login, les variations d'horloge, la gestion des interfaces réseau et la configuration d'instance.L'agent invité Linux communique avec les services Compute Engine comme suit :
- Il lit et écrit des données dans les métadonnées de VM
- Il envoie des journaux au port série et, éventuellement, à Cloud Logging
Pour examiner le code source de ce package, consultez la section guest-agent sur GitHub.
Le package
google-compute-engine-oslogin
contient les fichiers binaires, les modules et les scripts pour OS Login. Vous pouvez utiliser OS Login pour gérer l'accès aux instances de VM à l'aide des rôles IAM (Identity and Access Management).Le package comprend les éléments suivants :
- La commande "Authorized Keys", qui fournit les clés SSH issues du profil OS Login de l'utilisateur afin d'utiliser sshd pour authentifier les utilisateurs lors de la connexion.
- Les modules NSS (Name Service Switch), qui permettent de mettre à la disposition du système les informations relatives aux utilisateurs et aux groupes d'OS Login.
- Les PAM (Pluggable Authentication Modules), qui permettent la prise en charge de l'autorisation (et de l'authentification si la prise en charge à deux facteurs est activée) autorisant le système à utiliser les autorisations Google Cloud IAM pour contrôler la capacité à se connecter à une instance ou à effectuer des opérations en tant que racine (via sudo).
google_oslogin_nss_cache
, qui est un utilitaire permettant de mettre à jour le cache des utilisateurs et des groupes locaux.- Le script shell
google_oslogin_control
active ou désactive les fonctionnalités d'OS Login. selinux
contient les fichiers de définition de règles SELinux et un package de règles compilé pour configurer SELinux de manière à prendre en charge OS Login.
Les composants d'OS Login communiquent avec les services Compute Engine comme suit :
- Ils lisent et écrivent des données dans les métadonnées de VM
- Ils envoient des journaux au port série et, éventuellement, à Cloud Logging
Pour examiner le code source de ce package, consultez la section guest-oslogin sur GitHub.
Les composants
gce-disk-expand
communiquent avec les services Compute Engine comme suit :- Ils envoient des journaux au port série.
Pour examiner le code source de ce package, consultez la section guest-diskexpand sur GitHub.
Le package
google-osconfig-agent
contient l'agent OS Config utilisé pour OS Inventory Management, OS Patch Management et OS Configuration Management à l'aide de VM Manager.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent et écrivent des données dans les métadonnées de VM
- Par défaut, l'agent OS Config ne collecte et n'envoie aucune information tant que l'agent OS Config n'est pas activé. Une fois l'agent activé, il communique avec le service de l'API OS Config. Pour connaître les opérations effectuées par l'agent, consultez la page Afficher les journaux d'audit VM Manager.
Pour examiner le code source de cet agent, consultez la section osconfig sur GitHub.
L'environnement invité Windows
La liste suivante récapitule les packages faisant partie de l'environnement invité Windows :
Le package
google-compute-engine-windows
contient l'agent invité Windows qui permet de créer des comptes utilisateur locaux et de définir et réinitialiser des mots de passe, ainsi que de configurer l'interface réseau et fournir la compatibilité avec le cluster de basculement Windows.L'agent invité Windows communique avec les services Compute Engine comme suit :
- Il lit et écrit des données dans les métadonnées de VM
- Il envoie des journaux au journal des événements de l'application de Windows, au port série et à Cloud Logging.
Pour examiner le code source de cet agent, consultez la section guest-agent sur GitHub.
Le package
google-compute-engine-sysprep
contient des scripts destinés à la généralisation d'une instance Windows en vue de la création d'une image. Le package inclut également le scriptinstance_setup.ps1
, utilisé au premier démarrage pour configurer la nouvelle instance.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent et écrivent des données dans les métadonnées de VM
- Ils envoient des journaux au journal des événements de l'application de Windows et au port série.
Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
google-compute-engine-metadata-scripts
contient les scripts et les fichiers binaires utilisés pour exécuter les scripts Compute Engine, sysprep-specialize, startup et shutdown.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent et écrivent des données dans les métadonnées de VM.
- Ils lisent à partir des emplacements Cloud Storage lorsque
sysprep-specialize-script-url
etwindows-startup-script-url
sont utilisés. - Ils envoient des journaux au journal des événements de l'application de Windows, au port série et à Cloud Logging.
Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
google-compute-engine-powershell
contient un module PowerShell. Ce module contient des fonctions courantes utilisées par les scripts PowerShell dans les autres scripts d'environnement invité Windows.Les scripts communiquent avec les services Compute Engine suivants :
- Par défaut, la fonction de journalisation du module PowerShell envoie les journaux au journal des événements de l'application de Windows et au port série.
Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
google-compute-engine-auto-updater
contient les scripts utilisés pour mettre à jour quotidiennement les packages Compute Engine. Ce package n'est plus installé par défaut.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent les données des métadonnées de VM.
- Ils appellent l'agent GooGet pour envoyer des journaux au journal des événements de l'application de Windows et à la console.
Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
google-compute-engine-diagnostics
contient un binaire utilisé pour obtenir des informations de diagnostic depuis l'instance et les enregistre dans un bucket Cloud Storage. Le binaire est exécuté par l'agent invité Windows.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils enregistrent les données dans un bucket Cloud Storage.
Pour examiner le code source de cet agent, consultez la section compute-image-tools sur GitHub.
Le package
certgen
contient un binaire qui crée un certificat sur l'instance.Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
googet
contient un binaire qui est un gestionnaire de packages utilisé pour installer et gérer l'environnement invité.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent des données à partir des dépôts Google Cloud.
Pour examiner le code source de cet agent, consultez la section googet sur GitHub.
Le package
google-compute-engine-vss
installe l'agent et le fournisseur VSS de Compute Engine utilisés pour capturer un instantané de disque persistant en utilisant le service VSS (Volume Shadow Copy Service) de Microsoft.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils communiquent avec le service d'instantané Google Cloud.
Pour examiner le code source de cet agent, consultez la section compute-image-windows sur GitHub.
Le package
google-osconfig-agent
contient l'agent OS Config utilisé pour OS Inventory Management, OS Patch Management et OS Configuration Management à l'aide de VM Manager.Les scripts communiquent avec les services Compute Engine comme suit :
- Ils lisent et écrivent des données dans les métadonnées de VM
- Par défaut, l'agent OS Config ne collecte et n'envoie aucune information tant que l'agent OS Config n'est pas activé. Une fois l'agent activé, il communique avec le service de l'API OS Config. Pour connaître les opérations effectuées par l'agent, consultez la page Afficher les journaux d'audit VM Manager.
Pour examiner le code source de cet agent, consultez la section osconfig sur GitHub.
Pilotes Compute Engine pour Windows
Les pilotes Compute Engine suivants sont gérés pour les images Windows :
Type de pilote | Nom du package |
---|---|
Adaptateur Ethernet | google-compute-engine-driver-netkvm |
Disque SCSI | google-compute-engine-driver-vioscsi |
Carte vidéo | google-compute-engine-driver-gga |
Gestionnaire de plantage | google-compute-engine-driver-pvpanic |
Chaque pilote est empaqueté à l'aide de GooGet et publié dans les dépôts Google Cloud. Le code source des pilotes se trouve à la section compute-windows-drivers sur GitHub. Toutes les images Windows Google Cloud sont préconfigurées avec l'outil GooGet et les dépôts Google Cloud. Si vous devez installer GooGet et configurer vous-même des dépôts, consultez la section Packaging et distribution de packages.
Pour installer ou mettre à niveau un pilote spécifique, exécutez la commande suivante :
googet install DRIVER_PACKAGE_NAME
Étape suivante
Pour obtenir des instructions détaillées concernant l'installation de l'environnement invité, consultez la section Installer l'environnement invité.