Si vous avez besoin que vos VM démarrent le plus rapidement possible, réduisez leur temps de démarrage en suivant les instructions de cette page. La réduction du temps de démarrage se fait au détriment de l'efficacité des ressources : votre projet consomme des ressources supplémentaires et présente une surface de sécurité accrue.
Avant de commencer
Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud
, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud
.
Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud
ou kubectl
et nécessitent un environnement de système d'exploitation (OS).
Obtenir le chemin d'accès au fichier kubeconfig
Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer
MANAGEMENT_API_SERVER
dans ces instructions.
Demander des autorisations et un accès
Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour vérifier que vous disposez du rôle Administrateur VirtualMachine du projet (project-vm-admin
) dans l'espace de noms du projet dans lequel réside la VM.
Maintenir les connexions de disque actives
Lorsqu'une VM démarre, l'établissement d'une connexion entre le nœud de la VM et le disque de la VM prend quelques secondes. Pour que la VM démarre plus rapidement, la connexion au disque doit rester active lorsque la VM est arrêtée. Ainsi, la connexion au disque ne se réinitialise pas lors des démarrages ultérieurs de la VM. Pour ce faire, lorsque vous exécutez la commande pour activer le keep-alive de la connexion au disque, le système crée automatiquement un pod factice qui monte tous les disques de la VM.
Activer le keep-alive de la connexion au disque
Pour maintenir les connexions de disque actives pour une VM appelée VM_NAME
dans le projet PROJECT
, exécutez la commande suivante. Dans ce cas, le système crée automatiquement le pod factice :
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'
Remplacez les variables tout au long de ces instructions en utilisant les définitions suivantes.
Variable | Définition |
---|---|
MANAGEMENT_API_SERVER |
Fichier kubeconfig du serveur de l'API Management. |
VM_NAME |
Nom de la VM. |
PROJECT |
Projet GDC dans lequel réside la VM. |
Lorsque le keep-alive de connexion au disque est activé, un pod nommé disk-connection-keep-alive-VM_NAME
est créé dans le même projet que la VM. Le prochain redémarrage de la VM est plus rapide, tout comme les démarrages suivants, car les connexions de disque de la VM sont maintenues par le pod.
Configurer l'affinité de maintien de la connexion au disque
Le planificateur Kubernetes peut sélectionner un autre nœud pour la VM lors de son redémarrage. Pour réduire les risques, configurez une règle d'affinité entre les VM et le pod keep-alive. Configurez cette récupération automatique :
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'
Cela ajoute un paramètre d'affinité préférée sur la VM au pod keep-alive.
Mises en garde
Deux points sont à prendre en compte pour maintenir les connexions de disque actives :
- Le pod Keep-Alive entraîne une utilisation supplémentaire des ressources :
- Il est pris en compte dans la limite du nombre de pods par nœud.
- Il utilise une adresse IP supplémentaire attribuée par Kubernetes.
- Elle utilise une quantité négligeable de processeur et de mémoire supplémentaires.
- La surface de sécurité augmente, car le nœud où se trouve le pod keep-alive est toujours associé aux disques de la VM, même lorsque celle-ci est arrêtée.
Utiliser le micrologiciel BIOS
Dans GDC, le démarrage d'une VM avec le micrologiciel UEFI (Unified Extensible Firmware Interface) est plus lent que le démarrage d'une VM avec le micrologiciel BIOS.
Pour que le temps de démarrage soit minimal, définissez le type de micrologiciel de la VM sur BIOS :
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $' spec: firmware: type: bios enableSecureBoot: '
Si la VM est en cours d'exécution, redémarrez-la en suivant les instructions de la section Redémarrer la VM.
Mises en garde
L'inconvénient de l'utilisation du micrologiciel BIOS est qu'il ne prend pas en charge le démarrage sécurisé.
Utiliser un grand disque de démarrage
Pour réduire au minimum le temps de démarrage de la VM, associez-lui un disque de démarrage d'au moins 500 Go.