Gerenciar recursos e atividades de nuvem privada

Depois de criar uma nuvem privada, é possível ver informações detalhadas sobre ela, gerenciar os recursos e a atividade e acessar os dispositivos de gerenciamento de VMware. Cada nuvem privada contém um ou mais clusters, e cada cluster contém nós que correspondem a hosts ESXi.

As políticas de escalonamento automático aplicadas a clusters em uma nuvem privada monitoram o consumo de recursos e adicionam ou removem nós pelo cluster automaticamente. Também é possível expandir ou reduzir manualmente uma nuvem privada adicionando ou removendo nós em clusters nessa nuvem privada. Por exemplo, é possível criar uma nuvem privada com base nas necessidades atuais e, em seguida, expandir a nuvem privada adicionando nós à medida que o consumo aumenta.

Para ver uma lista das suas nuvens privadas, acesse a página de resumo dos recursos:

  1. Acesse o portal do Google Cloud VMware Engine.
  2. Na navegação principal, acesse Recursos.
  3. Selecione a nuvem particular que você quer gerenciar na lista de nuvens privadas.

gcloud e requisitos de API

Para usar a ferramenta de linha de comando gcloud ou a API para gerenciar os recursos do VMware Engine, recomendamos configurar as ferramentas conforme descrito abaixo.

gcloud

  1. Defina o ID do projeto padrão:

    gcloud config set project PROJECT_ID
    
  2. Defina uma região e/ou uma zona padrão:

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

Para mais informações sobre a ferramenta gcloud vmware, consulte os documentos de referência do SDK do Cloud.

API

Os exemplos de API neste conjunto de documentação usam a ferramenta de linha de comando cURL para consultar a API. Um token de acesso válido é necessário como parte da solicitação cURL. Há muitas maneiras de conseguir um token de acesso válido. As etapas a seguir usam a ferramenta gcloud para gerar um token de acesso:

  1. Fazer login no Google Cloud

    gcloud auth login
    
  2. Gerar token de acesso e exportar para TOKEN

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verificar se o TOKEN está definido corretamente

    echo $TOKEN
    
    Output:
    TOKEN
    

Use agora o token de autorização nas solicitações para a API. Exemplo:

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

Os exemplos de código Python nesta documentação usam a biblioteca do VMware Engine para se comunicar com a API. Para usar essa abordagem, a biblioteca precisa estar instalada e o Application Default Credentials precisa estar configurado.

  1. Fazer o download e instalar a biblioteca Python

     pip install google-cloud-vmwareengine
    
  2. Execute os comandos no shell para configurar as informações do ADC

      gcloud auth application-default login
    

    ou use um arquivo de chave da conta de serviço

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Para mais informações sobre a biblioteca, acesse a página de referência ou veja os exemplos de código no GitHub.

Verificar a versão do layout de endereço IP

As nuvens privadas criadas após novembro de 2022 adotam as alocações de sub-rede do layout de endereço IP (plano IP) versão 2.0. Quase todas as nuvens privadas criadas antes de novembro de 2022 adotam as alocações de sub-rede do plano de IP versão 1.0.

Para saber qual versão sua nuvem privada adota, siga estas etapas:

  1. Acesse o portal do Google Cloud VMware Engine.
  2. Na página Recursos, clique em Resumo.

O número da versão é exibido com Versão do plano de IP.

Como visualizar um resumo privado na nuvem

O resumo fornece informações sobre a nuvem privada, incluindo nome, número de clusters do vSphere, número de nós, local, estado operacional e muito mais. A página de resumo inclui os servidores DNS implantados na nuvem privada.

Na página de resumo da nuvem particular, é possível realizar as seguintes ações:

Como adicionar nós a uma nuvem privada

Uma nuvem privada consiste em um ou mais clusters do vSphere, cada um contendo vários nós. Ao adicionar nós a uma nuvem particular, você adiciona nós ao cluster atual ou cria um novo cluster. Uma nuvem privada pode ser expandida várias vezes, desde que você esteja dentro dos limites gerais do nó. Toda vez que você expande uma nuvem privada, você adiciona ao cluster atual ou cria um novo.

Como parte da nova configuração do cluster, o Google configura a infraestrutura da VMware. As configurações incluem as configurações de armazenamento para grupos de discos vSAN, alta disponibilidade de VMware e programador de recursos distribuídos (DRS, na sigla em inglês).

Para adicionar nós a uma nuvem privada, faça o seguinte:

Console

  1. Na página de resumo da nuvem particular, clique em Adicionar nós.
  2. Escolha se você quer adicionar nós a um dos clusters atuais ou criar um novo cluster do vSphere. A medida que você faz alterações, as informações resumidas na página são atualizadas.
  3. Para adicionar nós a um dos clusters, selecione Adicionar nós a atuais. Selecione o cluster que você quer expandir e insira o número de nós a serem adicionados.
  4. Para adicionar um novo cluster, selecione Criar novo. Em seguida, forneça os detalhes a seguir:
    1. Digite um nome para o cluster.
    2. Selecione um data center atual do vSphere ou insira um nome para criar um novo data center.
    3. Selecione o número de nós. Cada novo cluster precisa ter pelo menos três nós.
    4. Opcional: clique no botão Personalizar núcleos se você quiser reduzir o número de núcleos disponíveis para cada nó no cluster de gerenciamento. Para mais detalhes, consulte Contagens de núcleo personalizados.
  5. Clique em Enviar.

gcloud

O comando Atualizar permite alterar a contagem total de nós do cluster. Esse comando requer o nome do cluster e da nuvem privada.

  1. Liste os clusters.

    gcloud vmware private-clouds clusters list \
     --private-cloud=PC_NAME \
     --location=ZONE
  2. Atualize o cluster. Por exemplo, os comandos a seguir alteram o número de nós para quatro.

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

    Substitua:

    • CLUSTER_NAME: o nome do cluster a ser atualizado nesta nuvem privada.
    • ZONE: a zona da nuvem privada.
    • PC_NAME: o nome da nuvem privada.
    • PROJECT_ID: o ID do projeto desta solicitação

API

A API de atualização permite alterar a contagem total de nós do cluster. Esse comando requer o nome do cluster e da nuvem privada.

  1. Liste os clusters.

    curl -L -X GET -H "Authorization: Bearer TOKEN" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PC_NAME/clusters"
    
  2. Atualize os clusters. Por exemplo, a instrução abaixo atualiza o cluster para standard-72 e muda o número de nós para quatro.

    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
      }
    }
    }'

    Substitua:

    • PROJECT_ID: o ID do projeto desta solicitação
    • ZONE: a zona da nuvem privada
    • PC_NAME: o nome da nuvem privada
    • CLUSTER_NAME: o nome do cluster a ser atualizado nesta nuvem privada.

Python

O método de atualização de cluster permite mudar a contagem total de nós. Esse método requer o nome do cluster e da nuvem privada.

  1. Liste os clusters.
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. Atualize os clusters. O método a seguir permite modificar o número de nós standard-72 no 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)

Adicionar um novo cluster a uma nuvem privada

Para adicionar um novo cluster a uma nuvem privada, faça o seguinte:

gcloud

Adicione o novo cluster e dê um nome a ele. Exemplo:

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

API

Adicione o novo cluster e dê um nome a ele. Exemplo:

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

Adicione o novo cluster e dê um nome a ele.

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)

Criar um cluster com configuração de contagem de núcleos personalizada

Para criar um novo cluster com a configuração personalizada de contagem de núcleos, faça o seguinte:

gcloud

Adicione o novo cluster e especifique a configuração da contagem de núcleos. Por exemplo, o código a seguir cria um novo cluster de tipo de nó standard-72 com três nós e uma contagem de núcleos personalizados de 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

Adicione o novo cluster e especifique a configuração da contagem de núcleos. Por exemplo, o código a seguir cria um novo cluster de tipo de nó standard-72 com quatro nós e uma contagem de núcleos personalizados de 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

Adicione o novo cluster e especifique a configuração da contagem de núcleos. Por exemplo, o código a seguir cria um novo cluster do tipo de nó standard-72 com uma quantidade configurável de nós e contagem de núcleos.

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)

Como remover nós ou excluir um cluster

Ao remover nós de uma nuvem privada, você remove os nós do cluster atual ou exclui o cluster inteiro.

Para remover nós de uma nuvem privada, atualize o cluster com alguns nós.

Console

  1. Na página de resumo da nuvem particular, clique em Remover nós.
  2. Selecione o cluster que você quer reduzir ou excluir.
  3. Selecione Remover um nó.
  4. Verifique a capacidade do cluster.
  5. Clique em Enviar para iniciar o processo de remoção de nós.

Para monitorar o progresso, selecione Atividade > Tarefas. Esse processo requer ressincronização na vSAN e pode levar algumas horas, dependendo dos dados.

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)

Para excluir um cluster inteiro, faça o seguinte:

Console

  1. Na página de resumo da nuvem particular, clique em Remover nós.
  2. Selecione o cluster que você quer reduzir ou excluir.
  3. Selecione Excluir todo o cluster.
  4. Verifique a capacidade do cluster.
  5. Clique em Enviar para iniciar o processo de remoção de nós.

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)

Restrições

O processo de remoção de nós da nuvem privada tem as seguintes restrições:

  • O cluster do vSphere precisa ter pelo menos três nós. Não é possível remover nós de um cluster com três ou menos nós.
  • O armazenamento total consumido não pode exceder a capacidade total após a remoção dos nós de um cluster.
  • Não é possível excluir o primeiro cluster que foi criado durante a criação da nuvem privada.
  • Se as regras de DRS do vSphere (afinidade e antiafinidade) forem aplicadas a todos os nós de um cluster, os nós não poderão ser removidos do cluster. Exclua as regras e tente novamente a operação de remoção de nó.

Como visualizar sub-redes

Para ver a lista de sub-redes de gerenciamento definidas para sua nuvem privada, selecione a guia Sub-redes. A lista inclui as sub-redes do HCX criadas quando a nuvem privada foi criada. A lista de sub-redes também inclui a tabela de firewall anexada a cada uma.

Como visualizar informações de atividades

Para visualizar as informações de atividade da nuvem privada, selecione a guia Atividade. As informações exibidas são uma lista filtrada de todas as atividades da nuvem privada. Esta página mostra até 25 atividades recentes. Para uma lista completa de atividades e ações associadas, consulte Como monitorar a atividade do VMware Engine.

Como visualizar a rede de gerenciamento do vSphere

Para ver a lista de recursos de gerenciamento e máquinas virtuais do VMware atualmente configurados na sua nuvem privada, selecione a guia Rede de gerenciamento de vSphere. As informações incluem a versão do software, o nome de domínio totalmente qualificado (FQDN, na sigla em inglês) e o endereço IP dos recursos.