Gestisci attività e risorse del cloud privato

Dopo aver creato un cloud privato, puoi visualizzarne le informazioni dettagliate. gestire le proprie risorse e attività e accedere alle proprie appliance di gestione VMware. Ogni cloud privato contiene uno o più cluster e ogni cluster contiene nodi che corrispondono agli host ESXi.

I criteri di scalabilità automatica applicati ai cluster in un cloud privato monitorare il consumo delle risorse e aggiungere o rimuovere automaticamente i nodi in un cluster Kubernetes. Puoi anche espandere o ridurre manualmente un cloud privato aggiungendo o rimuovendo i nodi dai cluster nel cloud privato. Ad esempio, puoi creare in base alle esigenze attuali ed espandere il cloud privato 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. Nel riquadro di navigazione principale, vai a Risorse.
  3. Seleziona il cloud privato che vuoi gestire dall'elenco dei cloud privati.

Requisiti di gcloud e API

Per utilizzare lo strumento a riga di comando gcloud o l'API per gestire VMware Engine per le risorse, 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 una query sull'API. Nell'ambito della richiesta cURL è necessario un token di accesso valido. Esistono molti modi per ottenere un token di accesso valido; i passaggi seguenti utilizzano gcloud per generare un token di accesso:

  1. Accedi a Google Cloud

    gcloud auth login
    
  2. Genera 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 usa un file di chiavi dell'account di servizio

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Per ulteriori 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 aderiscono al layout degli indirizzi IP (piano IP) Allocazioni delle subnet versione 2.0. Quasi tutti i cloud privati creati prima di novembre 2022 rispettano le allocazioni delle subnet del piano IP versione 1.0.

Per scoprire a quale versione è conforme 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 piano IP.

Visualizzazione di un riepilogo del cloud privato

Il riepilogo fornisce informazioni sul tuo cloud privato, tra cui nome, numero di cluster vSphere, numero di nodi, posizione, stato di funzionamento e altro ancora. La pagina di riepilogo include anche i server DNS di cui è stato eseguito il deployment sull'istanza cloud.

Dalla 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, li aggiungi anche cluster esistente o crearne uno nuovo. Un cloud privato può essere espanso più volte, purché rientri nei limiti di nodi complessivi. Ogni volta che espandi un cloud privato, aggiungi elementi al cluster esistente o crei uno nuovo.

Nell'ambito della nuova configurazione del cluster, Google configura dell'infrastruttura. Le impostazioni includono quelle per i gruppi di dischi vSAN, VMware 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 cluster esistenti o crearne uno nuovo Cluster vSphere. Man mano che apporti modifiche, le informazioni di riepilogo sulla pagina aggiornamenti.
  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 quanto segue dettagli:
    1. Inserisci un nome per il cluster.
    2. Seleziona un data center vSphere esistente o inserisci un nome per crearne uno nuovo data center.
    3. Seleziona il numero di nodi. Ogni nuovo cluster deve avere almeno tre nodi.
    4. (Facoltativo) Fai clic sul pulsante di attivazione/disattivazione Personalizza i core se vuoi ridurre il di core disponibili per ciascun nodo nel cluster di gestione. Per Per maggiori dettagli, consulta Conteggio dei core personalizzati.
  5. Fai clic su Invia.

gcloud

Il comando update consente di modificare il numero totale di nodi del 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 seguenti comandi cambiano il numero di nodi a 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: il nome del cluster da aggiornare in questo cloud privato
    • ZONE: la zona per il cloud privato
    • PC_NAME: il 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 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: il nome del cloud privato
    • CLUSTER_NAME: il 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 standard-72 nodo 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)

Aggiungere un nuovo cluster a un cloud privato

Per aggiungere un nuovo cluster a un cloud privato esistente, segui questi passaggi:

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)

Creare un nuovo cluster con una configurazione personalizzata del numero di core

Per creare un nuovo cluster con una configurazione personalizzata del conteggio dei core, segui questi passaggi:

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 personalizzati 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 numero di core. Ad esempio, la seguente istruzione 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: di seguito viene creato un nuovo cluster di tipo di nodo standard-72 con opzioni configurabili di nodi e il 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)

Rimozione di nodi o eliminazione di un cluster

Quando rimuovi i nodi da un cloud privato, li rimuovi da quello esistente o eliminare l'intero cluster.

Per rimuovere nodi da un cloud privato, aggiorna il cluster con un numero 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 la procedura di rimozione dei nodi.

Per monitorare l'avanzamento, seleziona Attività &gt; 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 la procedura 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 quanto segue restrizioni:

  • Il cluster vSphere deve avere almeno tre nodi. Non puoi rimuovere i 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 nodi da un cluster.
  • Non puoi eliminare il primo cluster creato quando il cloud privato era è stato creato.
  • Se le regole vSphere DRS (affinità e anti-affinità) vengono applicate a tutti i nodi di un cluster, non è possibile rimuovere nodi dal cluster. Puoi eliminare e riprova a eseguire 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 quando è stato creato. L'elenco delle subnet include anche tabella firewall per ogni subnet.

Visualizzazione dei dati sull'attività

Per visualizzare le informazioni sulle attività per il cloud privato, seleziona il pulsante Attività . Le informazioni visualizzate sono un elenco filtrato di tutte le attività per il tuo e cloud privato. Questa pagina mostra fino a 25 attività recenti. Per un elenco completo delle attività e delle azioni associate, consulta Monitorare l'attività di VMware Engine.

Visualizzazione della rete di gestione vSphere

Per visualizzare l'elenco di risorse di gestione VMware e macchine virtuali che sono attualmente configurati nel cloud privato, seleziona Scheda Rete di gestione vSphere. Le informazioni includono la versione software, nome di dominio completo (FQDN) e indirizzo IP delle risorse.