Gestisci attività e risorse del cloud privato

Dopo aver creato un cloud privato, puoi visualizzarne le informazioni dettagliate, gestirne le risorse e le attività e accedere alle relative appliance di gestione VMware. Ogni cloud privato contiene uno o più cluster, ognuno dei quali contiene nodi corrispondenti agli host ESXi.

I criteri di scalabilità automatica applicati ai cluster in un cloud privato monitorano il consumo di risorse e aggiungono o rimuovono automaticamente nodi dal cluster. Puoi anche espandere o ridurre manualmente un cloud privato aggiungendo o rimuovendo nodi dai cluster in quel cloud privato. Ad esempio, puoi creare un cloud privato in base alle esigenze attuali e quindi espanderlo aggiungendo nodi man mano che il consumo aumenta.

Per visualizzare un elenco dei tuoi cloud privati, accedi innanzitutto alla relativa pagina di riepilogo delle risorse:

  1. Accedi al portale Google Cloud VMware Engine.
  2. Nella navigazione principale, vai a Risorse.
  3. Seleziona il cloud privato che vuoi gestire dall'elenco dei cloud privati.

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.

Verifica la versione del layout dell'indirizzo IP

I cloud privati creati dopo novembre 2022 rispettano le allocazioni di subnet del layout degli indirizzi IP (piano IP) 2.0. Quasi tutti i cloud privati creati prima di novembre 2022 rispettano le allocazioni di subnet del piano IP versione 1.0.

Per scoprire quale versione utilizza il tuo cloud privato, completa i seguenti passaggi:

  1. Accedi al portale Google Cloud VMware Engine.
  2. Nella pagina Risorse, fai clic su Riepilogo.

Il numero di versione viene visualizzato con la versione del piano IP.

Visualizzazione di un riepilogo del cloud privato

Il riepilogo fornisce informazioni sul tuo cloud privato, inclusi nome, numero di cluster vSphere, numero di nodi, località, stato operativo e altro ancora. La pagina di riepilogo include anche i server DNS di cui è stato eseguito il deployment nel cloud privato.

Nella pagina di riepilogo del cloud privato puoi eseguire le seguenti azioni:

Aggiunta di nodi a un cloud privato

Un cloud privato è costituito da uno o più cluster vSphere, ciascuno contenente più nodi. Quando aggiungi nodi a un cloud privato, vengono aggiunti nodi al cluster esistente o ne crei uno nuovo. Un cloud privato può essere espanso più volte, a condizione di rimanere entro i limiti di nodi complessivi. Ogni volta che espandi un cloud privato, puoi aggiungerlo al cluster esistente o crearne uno nuovo.

Nell'ambito della nuova configurazione del cluster, Google configura l'infrastruttura VMware. Le impostazioni includono le impostazioni di archiviazione per i gruppi di dischi vSAN, VMware ad alta disponibilità e Distributed Resource Scheduler (DRS).

Per aggiungere nodi a un cloud privato:

Console

  1. Nella pagina di riepilogo del cloud privato, fai clic su Aggiungi nodi.
  2. Scegli se aggiungere nodi a uno dei tuoi cluster esistenti o se creare un nuovo cluster vSphere. Man mano che apporti le modifiche, le informazioni di riepilogo nella pagina vengono aggiornate.
  3. Per aggiungere nodi a uno dei cluster esistenti, seleziona Aggiungi nodi a esistenti. Seleziona il cluster che vuoi espandere e inserisci il numero di nodi da aggiungere.
  4. Per aggiungere un nuovo cluster, seleziona Crea nuovo. Quindi, fornisci i seguenti dettagli:
    1. Inserisci un nome per il cluster.
    2. Seleziona un data center vSphere esistente o inserisci un nome per crearne uno nuovo.
    3. Seleziona il numero di nodi. Ogni nuovo cluster deve avere almeno tre nodi.
    4. (Facoltativo) Fai clic sul pulsante di attivazione/disattivazione Personalizza core se vuoi ridurre il numero di core disponibili per ciascun nodo nel cluster di gestione. Per maggiori dettagli, consulta Conteggi dei core personalizzati.
  5. Fai clic su Invia.

gcloud

Il comando di aggiornamento consente di modificare il numero totale di nodi per il cluster. Questo comando richiede il nome del cluster e del cloud privato.

  1. Elenca i cluster.

    gcloud vmware private-clouds clusters list \
     --private-cloud=PC_NAME \
     --location=ZONE
  2. Aggiorna il cluster. Ad esempio, i comandi seguenti modificano il numero di nodi in 4.

    gcloud vmware private-clouds clusters update CLUSTER_NAME \
    --location=ZONE \
    --private-cloud=PC_NAME --node-type-config=type=standard-72,count=4

    Sostituisci quanto segue:

    • CLUSTER_NAME: nome del cluster da aggiornare in questo cloud privato
    • ZONE: la zona per il cloud privato
    • PC_NAME: nome del cloud privato
    • PROJECT_ID: l'ID progetto per questa richiesta

API

L'API Update consente di modificare il numero totale di nodi per il cluster. Questo comando richiede il nome del cluster e del cloud privato.

  1. Elenca i cluster.

    curl -L -X GET -H "Authorization: Bearer TOKEN" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters"
    
  2. Aggiorna i cluster. Ad esempio, quanto segue aggiorna il cluster in standard-72 e cambia il numero di nodi in 4.

    curl -L -X PATCH -H "Authorization: Bearer TOKEN" \
    -H "Content-Type: application/json" \
    "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters/CLUSTER_NAME?updateMask=node_type_configs.*.node_count" \
    -d '{
    "nodeTypeConfigs": {
      "standard-72" : {
        "nodeCount": 4
      }
    }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto per questa richiesta
    • ZONE: la zona per il cloud privato
    • PC_NAME: nome del cloud privato
    • CLUSTER_NAME: nome del cluster da aggiornare in questo cloud privato

Python

Il metodo di aggiornamento del cluster consente di modificare il numero totale di nodi per il cluster. Questo metodo richiede il nome del cluster e del cloud privato.

  1. Elenca i cluster.
from typing import Iterable

from google.cloud import vmwareengine_v1

def list_clusters(
    project_id: str, zone: str, private_cloud_name: str
) -> Iterable[vmwareengine_v1.Cluster]:
    """
    Retrieves a list of clusters in private cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located.
        private_cloud_name: name of the cloud of which you want to list cluster.

    Returns:
        An iterable collection of Cluster objects.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    return client.list_clusters(
        parent=f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

  1. Aggiorna i cluster. Il seguente metodo consente di modificare il numero di standard-72 nodi nel cluster.
from google.api_core import operation
from google.cloud import vmwareengine_v1

def update_cluster_node_count(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int,
) -> operation.Operation:
    """
    Modify the number of nodes in a cluster in a private cloud.

    Modifying a cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: zone in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the cluster.
        cluster_name: name of the cluster.
        node_count: desired number of nodes in the cluster.

    Returns:
        An Operation object related to cluster modification operation.
    """
    if node_count < 3:
        raise RuntimeError("Cluster needs to have at least 3 nodes")
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateClusterRequest()
    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.update_mask = "nodeTypeConfigs.*.nodeCount"
    return client.update_cluster(request)

Aggiungi un nuovo cluster a un cloud privato

Per aggiungere un nuovo cluster a un cloud privato esistente:

gcloud

Aggiungi il nuovo cluster e assegnagli un nome. Ad esempio:

gcloud vmware private-clouds clusters create CLUSTER_NAME \
   --location=ZONE --private-cloud=PC_NAME \
   --node-type-config=type=standard-72,count=4

API

Aggiungi il nuovo cluster e assegnagli un nome. Ad esempio:

curl -L -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters?clusterId=CLUSTER_NAME" \
-d '{
  "nodeTypeConfigs": {
    "standard-72": {
      "nodeCount": 4
      }
  }
}'

Python

Aggiungi il nuovo cluster e assegnagli un nome.

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

def create_cluster(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int = 4,
) -> operation.Operation:
    """
    Create a new cluster in a private cloud.

    Creation of a new cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.
        node_count: number of nodes in the new cluster. (Must be >= 3)

    Returns:
        An Operation object related to started cluster creation operation.

    Raises:
        ValueError in case an incorrect number of nodes is provided.
    """
    if node_count < 3:
        raise ValueError("Cluster needs to have at least 3 nodes")

    request = vmwareengine_v1.CreateClusterRequest()
    request.parent = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = cluster_name

    # Currently standard-72 is the only supported node type.
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_cluster(request)

Crea un nuovo cluster con una configurazione personalizzata per il conteggio dei core

Per creare un nuovo cluster con una configurazione personalizzata del conteggio dei core:

gcloud

Aggiungi il nuovo cluster e specifica la configurazione del conteggio dei core. Ad esempio, quanto segue crea un nuovo cluster di tipo di nodo standard-72 con 3 nodi e un numero di core personalizzato pari a 28.

gcloud vmware private-clouds clusters create CLUSTER_NAME \
    --location=ZONE \
    --private-cloud=PC_NAME \
    --node-type-config=type=standard-72,count=4,custom-core-count=28

API

Aggiungi il nuovo cluster e specifica la configurazione del conteggio dei core. Ad esempio, quanto segue crea un nuovo cluster di tipo di nodo standard-72 con 4 nodi e un numero di core personalizzato pari a 28.

curl -L -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PROJECT_ID/clusters?clusterId=CLUSTER_NAME" \
-d '{
      "nodeTypeConfigs": {
      "standard-72": {
        "nodeCount": 4,
        "customCoreCount": 28
        }
    }
}'

Python

Aggiungi il nuovo cluster e specifica la configurazione del conteggio dei core. Ad esempio, quanto segue crea un nuovo cluster di tipo di nodo standard-72 con quantità configurabile di nodi e numero di core.

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

def create_custom_cluster(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int = 4,
    core_count: int = 28,
) -> operation.Operation:
    """
    Create a new cluster with custom number of cores in its nodes
    in a private cloud.

    Creation of a new cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.
        node_count: number of nodes in the new cluster.
        core_count: number of CPU cores in the new cluster nodes.

    Returns:
        An Operation object related to started cluster creation operation.

    Raises:
        ValueError in case an incorrect number of nodes is provided.
    """
    if node_count < 3:
        raise ValueError("Cluster needs to have at least 3 nodes")

    request = vmwareengine_v1.CreateClusterRequest()
    request.parent = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = cluster_name

    # Currently standard-72 is the only supported node type.
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.cluster.node_type_configs["standard-72"].custom_core_count = core_count

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_cluster(request)

Rimuovi nodi o elimina un cluster

Quando rimuovi i nodi da un cloud privato, rimuovi i nodi dal cluster esistente o elimini l'intero cluster.

Per rimuovere nodi da un cloud privato, aggiorna il cluster con alcuni nodi.

Console

  1. Nella pagina di riepilogo del cloud privato, fai clic su Rimuovi nodi.
  2. Seleziona il cluster che vuoi ridurre o eliminare.
  3. Seleziona Rimuovi un nodo.
  4. Verifica la capacità del cluster.
  5. Fai clic su Invia per iniziare il processo di rimozione dei nodi.

Per monitorare l'avanzamento, seleziona Attività > Tasks. Questo processo richiede la risincronizzazione in vSAN e può richiedere alcune ore, a seconda dei dati.

gcloud

gcloud vmware private-clouds clusters update CLUSTER_NAME \
  --location=ZONE \
  --private-cloud=PC_NAME --node-type-config=type=standard-72,count=3

API

curl -L -X PATCH -H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters/CLUSTER_NAME?update_mask=node_type_configs.*.node_count" \
-d '{
  "nodeTypeConfigs": {
    "standard-72" : {
      "nodeCount": 3
    }
  }
}'

Python

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

def update_cluster_node_count(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int,
) -> operation.Operation:
    """
    Modify the number of nodes in a cluster in a private cloud.

    Modifying a cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: zone in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the cluster.
        cluster_name: name of the cluster.
        node_count: desired number of nodes in the cluster.

    Returns:
        An Operation object related to cluster modification operation.
    """
    if node_count < 3:
        raise RuntimeError("Cluster needs to have at least 3 nodes")
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateClusterRequest()
    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.update_mask = "nodeTypeConfigs.*.nodeCount"
    return client.update_cluster(request)

Per eliminare un intero cluster:

Console

  1. Nella pagina di riepilogo del cloud privato, fai clic su Rimuovi nodi.
  2. Seleziona il cluster che vuoi ridurre o eliminare.
  3. Seleziona Elimina l'intero cluster.
  4. Verifica la capacità del cluster.
  5. Fai clic su Invia per iniziare il processo di rimozione dei nodi.

gcloud

gcloud vmware private-clouds clusters delete CLUSTER_NAME \
  --location=ZONE \
  --private-cloud=PC_NAME

API

curl -L -X DELETE -H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters/CLUSTER_NAME"

Python

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

def delete_cluster(
    project_id: str, zone: str, private_cloud_name: str, cluster_name: str
) -> operation.Operation:
    """
    Delete a cluster from private cloud.

    Deleting a cluster is a long-running operation and it may take over an hour..

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.

    Returns:
        An Operation object related to started cluster deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeleteClusterRequest()
    request.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    return client.delete_cluster(request)

Limitazioni

Il processo di rimozione dei nodi dal cloud privato prevede le seguenti restrizioni:

  • Il cluster vSphere deve avere almeno tre nodi. Non puoi rimuovere nodi da un cluster con un massimo di 3 nodi.
  • Lo spazio di archiviazione totale utilizzato non può superare la capacità totale dopo la rimozione dei nodi da un cluster.
  • Non puoi eliminare il primo cluster creato quando è stato creato il cloud privato.
  • Se le regole DRS di vSphere (affinità e anti-affinità) vengono applicate a tutti i nodi di un cluster, i nodi non possono essere rimossi dal cluster. Puoi eliminare le regole e riprovare l'operazione di rimozione del nodo.

Visualizzazione delle subnet

Per visualizzare l'elenco delle subnet di gestione definite per il cloud privato, seleziona la scheda Subnet. L'elenco include le subnet HCX create al momento della creazione del cloud privato. L'elenco delle subnet include anche la tabella firewall collegata per ciascuna subnet.

Visualizzazione delle informazioni sull'attività

Per visualizzare le informazioni sull'attività per il tuo cloud privato, seleziona la scheda Attività. Le informazioni visualizzate sono un elenco filtrato di tutte le attività per il cloud privato. In questa pagina vengono mostrate fino a 25 attività recenti. Per un elenco completo delle attività e delle azioni associate, consulta Monitoraggio dell'attività VMware Engine.

Visualizzazione della rete di gestione vSphere

Per visualizzare l'elenco delle risorse di gestione VMware e delle macchine virtuali attualmente configurate sul tuo cloud privato, seleziona la scheda Rete di gestione vSphere. Le informazioni includono la versione del software, il nome di dominio completo (FQDN) e l'indirizzo IP delle risorse.