Vous pouvez arrêter, démarrer et redémarrer des VM pour gérer le cycle de vie de vos applications. Par exemple, vous pouvez modifier le nombre d'unités centrales de traitement virtuelles (vCPU) attribuées ou la quantité de mémoire allouée à une VM. Vous devez arrêter la VM avant de modifier la configuration. Une fois que vous avez terminé, vous devez arrêter l'état d'alimentation pour appliquer les modifications. Cette page explique comment arrêter, démarrer et redémarrer vos VM dans de tels processus.
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 gdcloud CLI.
Toutes les commandes de l'appliance GDC air-gapped 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 :
Recherchez le nom du serveur de l'API Management ou demandez à votre administrateur de plate-forme (PA) quel est le nom du serveur.
Connectez-vous et générez le fichier kubeconfig pour le serveur de l'API Management si vous n'en avez pas.
Utilisez le chemin d'accès pour remplacer
MANAGEMENT_API_SERVER{"</var>"}}dans ces instructions.
Si vous souhaitez réduire le temps de démarrage de votre VM, suivez les instructions de la section Réduire le temps de démarrage de la VM avant de démarrer votre VM.
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 de projet. Suivez les étapes pour soit
vérifier
soit demander à votre administrateur IAM de projet
de vous attribuer
le rôle Administrateur VirtualMachine de projet (project-vm-admin) dans l'espace de noms
du projet dans lequel réside la VM.
Pour les opérations de VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à votre administrateur IAM de projet de vous attribuer à la fois le rôle Administrateur VirtualMachine de projet et le rôle Lecteur de projet (project-viewer).xs
Arrêter une VM
Lorsque vous arrêtez une machine virtuelle (VM), l'hyperviseur libère toutes les ressources associées à l'instance. La VM est éteinte.
Arrêtez une VM en cours d'exécution à l'aide de la console GDC ou de kubectl.
Console
Dans le menu de navigation, cliquez sur Virtual Machines > Instances (Machines virtuelles > Instances).
Dans la liste des VM, cochez la case correspondant à la VM en cours d'exécution que vous souhaitez arrêter.
Cliquez sur Stop (Arrêter).
Dans la boîte de dialogue de confirmation, cliquez sur Stop (Arrêter).
gdcloud
Pour arrêter une VM, procédez comme suit :
gdcloud compute instances stop VM_NAME --project PROJECT
- Remplacez
VM_NAMEpar le nom de la VM. - Remplacez
PROJECTpar le nom du projet GDC dans lequel réside la VM.
kubectl
Exécutez la commande suivante :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECTRecherchez le champ
runningStatedans laspecde la VM et remplacez la valeur du champ parStopped. SirunningStatene se trouve pas dans laspec, ajoutezrunningStateà laspecet définissez la valeur surStopped.spec: runningState: StoppedVérifiez l'état de la VM :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECTUtilisez ces définitions pour les variables précédentes.
Variable Définition MANAGEMENT_API_SERVERChemin d'accès kubeconfig.VM_NAMENom de la VM. PROJECTNom du projet de la VM.
Démarrer une VM
Démarrez une VM à partir d'un état arrêté à l'aide de la console ou de kubectl.
Console
Dans le menu de navigation, cliquez sur Virtual Machines > Instances (Machines virtuelles > Instances).
Dans la liste des VM, cochez la case correspondant à la VM arrêtée que vous souhaitez démarrer.
Cliquez sur Start (Démarrer).
Dans la boîte de dialogue de confirmation, cliquez sur Start (Démarrer).
gdcloud
Pour démarrer une VM, procédez comme suit :
gdcloud compute instances start VM_NAME --project PROJECT
- Remplacez
VM_NAMEpar le nom de la VM. - Remplacez
PROJECTpar le nom du projet GDC dans lequel réside la VM.
kubectl
Exécutez la commande suivante :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECTRecherchez le champ
runningStatedans laspecde la VM et remplacez la valeur du champ parRunning.spec: runningState: RunningVérifiez l'état de la VM :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECTUtilisez ces définitions pour les variables de l'exemple de code.
Variable Définition MANAGEMENT_API_SERVERChemin d'accès kubeconfig.NAMESPACEEspace de noms de la VM. VM_NAMENom de la VM. PROJECTNom du projet de la VM.
Redémarrer une VM
Lorsque vous redémarrez une VM, la machine revient à son état initial et le contenu de la mémoire de la machine est effacé.
Redémarrez une VM en cours d'exécution à l'aide de la console ou de kubectl.
Console
Dans le menu de navigation, cliquez sur Virtual Machines > Instances (Machines virtuelles > Instances).
Dans la liste des VM, cochez la case correspondant à la VM en cours d'exécution que vous souhaitez redémarrer.
Cliquez sur Reset (Réinitialiser).
Dans la boîte de dialogue de confirmation, cliquez sur Reset (Réinitialiser).
gdcloud
Pour réinitialiser une VM, procédez comme suit :
gdcloud compute instances reset VM_NAME --project PROJECT
- Remplacez
VM_NAMEpar le nom de la VM. - Remplacez
PROJECTpar le nom du projet GDC dans lequel réside la VM.
kubectl
Obtenez le certificat client, les données de clé et le serveur de l'API Management. Utilisez ces valeurs lors des étapes suivantes :
kubectl --kubeconfig MANAGEMENT_API_SERVER config view --raw -o \ jsonpath='{.users[?(@.name =="CLUSTER_NAME-admin")].user.client-certificate-data}' | \ base64 -d > cert kubectl --kubeconfig MANAGEMENT_API_SERVER config view --raw -o \ jsonpath='{.users[?(@.name == "CLUSTER_NAME-admin")].user.client-key-data}' | \ base64 -d > key export APISERVER=`kubectl --kubeconfig MANAGEMENT_API_SERVER \ config view --raw -o \ jsonpath='{.clusters[?(@.name == "CLUSTER_NAME")].cluster.server}'`Effectuez une requête API pour redémarrer la VM à l'aide de la commande
wgetet spécifiez le certificat et la clé de l'étape précédente :wget --method=PUT -O- --no-check-certificate --certificate cert --private-key key --content-on-error=on $APISERVER/apis/virtualmachineoperations.gdc.goog/v1/namespaces/PROJECT/virtualmachines/VM_NAME/restartVérifiez l'état de la VM :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECTUtilisez ces définitions pour les variables de l' exemple de code.
Variable Définition MANAGEMENT_API_SERVERChemin d'accès kubeconfig.VM_NAMENom de la VM. PROJECTNom du projet de la VM.