Elimina un cloud privato

Un cloud privato è costituito da uno o più cluster vSphere. Quando elimini un cloud privato, tutti i cluster e i relativi nodi vengono eliminati.

Prima di iniziare

L'eliminazione di un cloud privato elimina l'intero cloud privato. Vengono eliminati tutti i componenti del cloud privato, inclusi tutti i nodi del cloud privato. Se vuoi conservare i dati, eseguine il backup in uno spazio di archiviazione on-premise o in altri servizi di archiviazione.

I componenti di un cloud privato includono:

  • Nodi
  • Macchine virtuali
  • VLAN e subnet di gestione
  • Subnet dei carichi di lavoro
  • Tutti i dati utente archiviati sul cloud privato
  • Tutti i collegamenti delle regole firewall a una subnet

Requisiti per gcloud e API

Per utilizzare lo strumento a riga di comando gcloud o l'API per gestire le risorse VMware Engine, ti consigliamo di configurare gli strumenti come descritto di seguito.

gcloud

  1. Imposta l'ID progetto predefinito:

    gcloud config set project PROJECT_ID
    
  2. Imposta una regione e/o una zona predefinite:

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

Per ulteriori informazioni sullo strumento gcloud vmware, consulta la documentazione di riferimento di Cloud SDK.

API

Gli esempi di API in questo set di documentazione utilizzano lo strumento a riga di comando cURL per eseguire query sull'API. È necessario un token di accesso valido per la richiesta cURL. Esistono molti modi per ottenere un token di accesso valido. I passaggi seguenti utilizzano lo strumento gcloud per generare un token di accesso:

  1. Accedi a Google Cloud

    gcloud auth login
    
  2. Genera il token di accesso ed esporta in TOKEN

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verifica che TOKEN sia impostato correttamente

    echo $TOKEN
    
    Output:
    TOKEN
    

Ora utilizza il token di autorizzazione nelle richieste all'API. Ad esempio:

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

Gli esempi di codice Python in questa documentazione utilizzano la libreria VMware Engine per comunicare con l'API. Per poter utilizzare questo approccio, è necessario installare la libreria e configurare le Credenziali predefinite dell'applicazione.

  1. scarica e installa la libreria Python

     pip install google-cloud-vmwareengine
    
  2. Configura le informazioni ADC eseguendo questi comandi nella shell

      gcloud auth application-default login
    

    o utilizzare un file di chiavi dell'account di servizio

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Per maggiori informazioni sulla libreria, visita la pagina di riferimento o visualizza gli esempi di codice su GitHub.

Elimina un cloud privato

Console

  1. Accedi al portale VMware Engine.
  2. Apri la pagina Risorse.
  3. Seleziona il cloud privato che vuoi eliminare.
  4. Nella pagina di riepilogo, fai clic su Elimina questo cloud privato.
  5. Nella pagina di conferma, ti verrà chiesto di verificare tutti i risultati dell'azione di eliminazione. Leggili attentamente e continua con l'eliminazione solo se sei pronto ad accettare i risultati. Quando vuoi accettare i risultati, seleziona tutte le caselle di controllo.
  6. Inserisci un numero di ore di attesa prima di eseguire l'eliminazione (1-8 ore). Entro questo periodo, puoi annullare l'eliminazione facendo clic su Annulla.
  7. Per verificare di sapere quale cloud privato stai eliminando, inserisci il nome del cloud privato da eliminare.
  8. Fai clic su Elimina per contrassegnare il cloud privato per l'eliminazione.

Il processo di eliminazione inizia dopo il ritardo specificato, in ore, e viene eseguito fino al completamento.

gcloud

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

Sostituisci quanto segue:

  • PC_NAME: nome del cloud privato
  • ZONE: la zona per questo cloud privato
  • HOURS: il numero di ore per ritardare questa richiesta. Per impostazione predefinita, il valore è di 3 ore, ma puoi scegliere un valore compreso tra 0 e 8 ore. Se questo valore viene impostato su 0, la richiesta di eliminazione verrà avviata immediatamente.

API

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=PC_NAME&mps;delayHours=HOUR

Sostituisci quanto segue:

  • TOKEN: il token di autorizzazione per questa richiesta.
  • PROJECT_ID: il progetto per questa richiesta
  • ZONE: la zona per il cloud privato
  • PC_NAME: nome del cloud privato
  • HOUR: il numero di ore per ritardare questa richiesta; il valore predefinito è 3. Puoi impostare un orario compreso tra 0 e 8. Se questo valore viene impostato su 0, la richiesta di eliminazione viene avviata immediatamente.

Python

L'eliminazione di un cloud privato con la libreria VMWare Engine è un processo che richiede un solo passaggio rispetto all'utilizzo della console Cloud. Fai molta attenzione quando chiami i metodi di eliminazione del cloud privato.

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}"
    )

Annulla eliminazione di un cloud privato

Puoi annullare l'eliminazione di un cloud privato entro il periodo di attesa. Segui questi passaggi.

Console

  1. Accedi al portale VMware Engine
  2. Apri la pagina Risorse.
  3. Seleziona il cloud privato che hai contrassegnato per l'eliminazione.
  4. Nella pagina di riepilogo, fai clic su Annulla eliminazione per annullare l'eliminazione del cloud privato.

gcloud

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

Sostituisci quanto segue:

  • PC_NAME: nome del cloud privato
  • ZONE: la zona per questo cloud privato

API

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=PC_NAME:undelete

Sostituisci quanto segue:

  • TOKEN: il token di autorizzazione per questa richiesta.
  • PROJECT_ID: il progetto per questa richiesta
  • ZONE: la zona per il cloud privato
  • PC_NAME: nome del cloud privato

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}"
    )