Pour que Cloud Assembly initialise une machine Windows déployée sur vSphere, l'image doit être basée sur un modèle vSphere sur lequel Cloudbase-Init est installé et configuré.

Création de l'image

  1. Utilisez vSphere pour créer et mettre sous tension une machine virtuelle Windows.
  2. Connectez-vous à Windows sur la machine virtuelle.
  3. Téléchargez Cloudbase-Init.

    https://cloudbase.it/cloudbase-init/#download

  4. Démarrez le fichier Cloudbase-Init setup.msi.

    Lors de l'installation, entrez Administrateur comme nom d'utilisateur, puis sélectionnez l'option à exécuter comme LocalSystem.

    Page de compte de l'assistant d'installation Cloudbase-Init

    Les autres sélections de configuration peuvent conserver les valeurs par défaut.

  5. Autorisez l'installation à s'exécuter, mais ne fermez pas la page finale Terminé de l'assistant de configuration.
    Important : Ne fermez pas la dernière page de l'assistant de configuration.
  6. Tout en gardant la page Terminé de l'assistant de configuration toujours ouverte, utilisez Windows pour accéder au chemin d'installation de Cloudbase-Init et ouvrez le fichier suivant dans un éditeur de texte.

    conf\cloudbase-init-unattend.conf

  7. Définissez metadata_services sur OvfService comme indiqué. Ajoutez le paramètre s'il n'existe pas déjà.

    metadata_services=cloudbaseinit.metadata.services.ovfservice.OvfService

  8. Enregistrez et fermez cloudbase-init-unattend.conf.
  9. Dans le même dossier, ouvrez le fichier suivant dans un éditeur de texte.

    conf\cloudbase-init.conf

  10. Définissez first_logon_behaviour, metadata_services et plugins comme indiqué. Ajoutez les paramètres s'ils n'existent pas déjà.
    first_logon_behaviour=always
    . . .
    metadata_services=cloudbaseinit.metadata.services.ovfservice.OvfService
    . . . 
    plugins=cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,cloudbaseinit.plugins.windows.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
    . . .
  11. Enregistrez et fermez cloudbase-init.conf.
  12. Sur la page Terminé de l'assistant de configuration, sélectionnez les options pour exécuter Sysprep et arrêter après Sysprep, puis cliquez sur Terminer.
    Note : VMware a rencontré des cas où l'exécution de Sysprep empêche les déploiements de l'image de fonctionner.

    Lors du déploiement, Cloud Assembly applique une spécification de personnalisation générée dynamiquement, ce qui déconnecte l'interface réseau. L'État Sysprep en attente dans l'image peut entraîner l'échec de la spécification de personnalisation et laisser le déploiement déconnecté.

    Si vous pensez que cela se produit dans votre environnement, essayez de laisser les options Sysprep désactivées lors de la création de l'image.
    Page finale de l'assistant d'installation Cloudbase-Init
  13. Une fois la machine virtuelle arrêtée, utilisez vSphere pour la convertir en modèle.

Détails supplémentaires

Le tableau suivant se développe en fonction des entrées de configuration effectuées lors de la configuration.

Paramètre de configuration Objectif
Nom d'utilisateur, CreateUserPlugin et SetUserPasswordPlugin Après Sysprep, le premier démarrage utilise CreateUserPlugin pour créer le compte d'administrateur de nom d'utilisateur avec un mot de passe vide. SetUserPasswordPlugin permet à Cloudbase-Init de remplacer le mot de passe vide par le mot de passe d'accès à distance qui sera inclus dans le modèle de cloud.
Comportement lors de la première connexion Ce paramètre invite l'utilisateur à modifier le mot de passe lors de la première connexion.
Services de métadonnées En répertoriant uniquement OvfService, Cloudbase-Init ne tente pas de rechercher d'autres services de métadonnées non pris en charge dans vCenter. Cela garantit des fichiers journaux plus propres, sans quoi les journaux se rempliraient avec les entrées concernant l'échec de la recherche de ces autres services.
Plug-ins En répertoriant uniquement les plug-ins avec les fonctionnalités prises en charge par OvfService, les journaux sont là encore plus propres. Cloudbase-Init exécute les plug-ins dans l'ordre spécifié.
Exécuter en tant que LocalSystem Ce paramètre prend en charge toutes les commandes d'initialisation avancées qui peuvent nécessiter Cloudbase-Init pour s'exécuter sous un compte d'administrateur dédié.