Supprimer un cloud privé

Un cloud privé est constitué d'un ou de plusieurs clusters vSphere. Lorsque vous supprimez un cloud privé, tous les clusters et leurs nœuds sont supprimés.

Avant de commencer

La suppression d'un cloud privé supprime l'ensemble du cloud privé. Tous les composants du cloud privé sont supprimés, y compris tous les nœuds qu'il comporte. Si vous souhaitez conserver des données, sauvegardez-les dans un espace de stockage sur site ou un autre type de stockage.

Les composants d'un cloud privé sont les suivants :

  • Nœuds
  • Machines virtuelles
  • VLAN et sous-réseaux de gestion
  • Sous-réseaux de charge de travail
  • Toutes les données utilisateur stockées dans le cloud privé
  • Tous les rattachements de règles de pare-feu à un sous-réseau

Exigences concernant gcloud et l'API

Pour gérer vos ressources VMware Engine à l'aide de l'outil de ligne de commande gcloud ou de l'API, nous vous recommandons de configurer les outils comme décrit ci-dessous.

gcloud

  1. Définissez votre ID de projet par défaut :

    gcloud config set project PROJECT_ID
    
  2. Définissez une région et/ou une zone par défaut:

    gcloud config set compute/region REGION
    gcloud config set compute/zone ZONE

Pour en savoir plus sur l'outil gcloud vmware, consultez la documentation de référence de Cloud SDK Cloud.

API

Les exemples d'API de cet ensemble de documentation utilisent l'outil de ligne de commande cURL pour interroger l'API. La requête cURL requiert un jeton d'accès valide. Il existe de nombreuses façons d'obtenir un jeton d'accès valide. Les étapes suivantes font appel à l'outil gcloud pour générer un jeton d'accès:

  1. Se connecter à Google Cloud

    gcloud auth login
    
  2. Générer un jeton d'accès et exporter vers TOKEN

    export TOKEN=`gcloud auth print-access-token`
    
  3. Vérifier que TOKEN est correctement défini

    echo $TOKEN
    
    Output:
    TOKEN
    

À présent, utilisez le jeton d'autorisation dans vos requêtes adressées à l'API. Exemple :

curl -X GET -H "Authorization: Bearer \"$TOKEN\""  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

Les exemples de code Python présentés dans cette documentation utilisent la bibliothèque VMware Engine pour communiquer avec l'API. Pour que vous puissiez utiliser cette approche, la bibliothèque doit être installée et les identifiants par défaut de l'application doivent être configurés.

  1. Télécharger et installer la bibliothèque Python

     pip install google-cloud-vmwareengine
    
  2. Configurez les informations ADC en exécutant ces commandes dans votre shell.

      gcloud auth application-default login
    

    ou utiliser un fichier de clé de compte de service

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Pour en savoir plus sur la bibliothèque, consultez la page de référence ou affichez des exemples de code sur GitHub.

Supprimer un cloud privé

Console

  1. Accéder à la console Google Cloud
  2. Dans le menu de navigation principal, cliquez sur Private clouds (Clouds privés).
  3. Sélectionnez le cloud privé que vous souhaitez supprimer.
  4. Sur la page récapitulative, cliquez sur Supprimer ce cloud privé.
  5. Sur la page de confirmation, vous êtes invité à vérifier tous les résultats de l'action de suppression. Lisez-les attentivement et ne poursuivez la suppression que si vous êtes prêt à accepter les résultats. Lorsque vous êtes prêt à accepter les résultats, cochez toutes les cases.
  6. Saisissez un délai d'attente en heures avant l'exécution de la suppression (de 1 à 8 heures). Pendant ce délai, vous avez la possibilité d'annuler la suppression en cliquant sur Annuler.
  7. Pour vérifier que vous savez quel cloud privé vous supprimez, saisissez son nom.
  8. Cliquez sur Supprimer pour marquer le cloud privé comme étant à supprimer.

Le processus de suppression commence après le délai spécifié en heures, puis s'exécute intégralement.

gcloud

Pour supprimer un cloud privé à l'aide de la Google Cloud CLI, exécutez la commande gcloud vmware private-clouds delete.

  gcloud vmware private-clouds delete PRIVATE_CLOUD_ID \
     --location=ZONE [--delay-hours=HOURS]

Remplacez les éléments suivants :

  • PRIVATE_CLOUD_ID: ID du cloud privé pour cette requête
  • ZONE: zone de ce cloud privé
  • HOURS: nombre d'heures nécessaires pour retarder cette requête. Par défaut, ce délai est défini sur 3 heures, mais vous pouvez définir une valeur comprise entre 0 et 8 heures. Si cette valeur est définie sur 0, la demande de suppression commence immédiatement.

API

Pour supprimer un cloud privé à l'aide de l'API VMware Engine, exécutez une requête DELETE:

curl -X DELETE -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID&mps;delayHours=HOUR

Remplacez les éléments suivants :

  • TOKEN: jeton d'autorisation pour cette requête.
  • PROJECT_ID: projet pour cette requête
  • ZONE: zone du cloud privé
  • PRIVATE_CLOUD_ID: ID du cloud privé
  • HOUR: nombre d'heures nécessaires pour retarder cette requête. La valeur par défaut est de 3. Vous pouvez définir une heure entre 0 et 8. La définition de cette valeur sur 0 lance la demande de suppression immédiatement.

Python

La suppression d'un cloud privé avec la bibliothèque VMWare Engine s'effectue en une seule étape, contrairement à l'utilisation de la console Google Cloud. Soyez très prudent lorsque vous appelez des méthodes de suppression du cloud privé.

from google.api_core import operation
from google.cloud import vmwareengine_v1

def delete_private_cloud_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to delete.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeletePrivateCloudRequest()
    request.force = True
    request.delay_hours = 3
    request.name = cloud_name
    return client.delete_private_cloud(request)

def delete_private_cloud(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to be deleted.

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    return delete_private_cloud_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )

Annuler la suppression d'un cloud privé

Vous pouvez annuler la suppression d'un cloud privé pendant le délai d'attente. Procédez comme suit.

Console

  1. Accéder à la console Google Cloud
  2. Dans le menu de navigation principal, cliquez sur Private clouds (Clouds privés).
  3. Sélectionnez le cloud privé que vous avez marqué pour suppression.
  4. Sur la page récapitulative, cliquez sur Annuler la suppression pour annuler la suppression du cloud privé.

gcloud

Pour annuler la suppression d'un cloud privé à l'aide de la Google Cloud CLI, utilisez la commande gcloud vmware private-clouds undelete:

  gcloud vmware private-clouds undelete PRIVATE_CLOUD_ID \
     --location=ZONE

Remplacez les éléments suivants :

  • PRIVATE_CLOUD_ID: ID du cloud privé pour cette requête
  • ZONE: zone de ce cloud privé

API

Pour annuler la suppression d'un cloud privé à l'aide de l'API VMware Engine, exécutez une requête POST:

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID:undelete

Remplacez les éléments suivants :

  • TOKEN: jeton d'autorisation pour cette requête.
  • PROJECT_ID : ID du projet pour cette requête
  • ZONE: zone du cloud privé
  • PRIVATE_CLOUD_ID: ID du cloud privé pour cette requête

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1

def cancel_private_cloud_deletion_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to cancel deletion for.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UndeletePrivateCloudRequest()
    request.name = cloud_name
    return client.undelete_private_cloud(request)

def cancel_private_cloud_deletion(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to cancel deletion for.

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    return cancel_private_cloud_deletion_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )