REST Resource: projects.locations.privateClouds.clusters

Recurso: Cluster

Um cluster em uma nuvem privada.

Representação JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "state": enum (State),
  "management": boolean,
  "autoscalingSettings": {
    object (AutoscalingSettings)
  },
  "uid": string,
  "nodeTypeConfigs": {
    string: {
      object (NodeTypeConfig)
    },
    ...
  },
  "stretchedClusterConfig": {
    object (StretchedClusterConfig)
  },
  "datastoreMountConfig": [
    {
      object (DatastoreMountConfig)
    }
  ]
}
Campos
name

string

Apenas saída. Identificador. O nome do recurso deste cluster. Os nomes de recursos são URIs sem esquema que seguem as convenções em https://cloud.google.com/apis/design/resource_names. Por exemplo: projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster

createTime

string (Timestamp format)

Apenas saída. Hora de criação deste recurso.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. A última atualização deste recurso.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

state

enum (State)

Apenas saída. Estado do recurso.

management

boolean

Apenas saída. Verdadeiro se o cluster for de gerenciamento. Caso contrário, falso. Só pode haver um cluster de gerenciamento em uma nuvem privada, e ele precisa ser o primeiro.

autoscalingSettings

object (AutoscalingSettings)

Opcional. Configuração do escalonamento automático aplicado a este cluster.

uid

string

Apenas saída. Identificador exclusivo gerado pelo sistema para o recurso.

nodeTypeConfigs

map (key: string, value: object (NodeTypeConfig))

Obrigatório. O mapa dos tipos de nós do cluster, em que a chave é o identificador canônico do tipo de nó (corresponde ao NodeType).

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

stretchedClusterConfig

object (StretchedClusterConfig)

Opcional. Configuração de um cluster estendido. Obrigatório para clusters que pertencem a uma nuvem privada ESTENDIDA.

datastoreMountConfig[]

object (DatastoreMountConfig)

Apenas saída. Configuração de um armazenamento de dados montado.

Estado

O enum State define os possíveis estados dos clusters de nuvem privada.

Tipos enumerados
STATE_UNSPECIFIED O valor padrão. Esse valor nunca pode ser usado.
ACTIVE O cluster está operacional e pode ser usado pelo usuário.
CREATING O cluster está sendo implantado.
UPDATING Adicionar ou remover um nó do cluster e outras atualizações específicas do cluster.
DELETING O cluster está sendo excluído.
REPAIRING O cluster está em manutenção. Por exemplo, um nó com falha está sendo substituído.

AutoscalingSettings

As configurações de escalonamento automático definem as regras usadas pelo VMware Engine para escalonar horizontalmente e verticalmente de forma automática os clusters em uma nuvem privada.

Representação JSON
{
  "autoscalingPolicies": {
    string: {
      object (AutoscalingPolicy)
    },
    ...
  },
  "minClusterNodeCount": integer,
  "maxClusterNodeCount": integer,
  "coolDownPeriod": string
}
Campos
autoscalingPolicies

map (key: string, value: object (AutoscalingPolicy))

Obrigatório. O mapa com as políticas de escalonamento automático aplicadas ao cluster. A chave é o identificador da política. Ele precisa atender aos seguintes requisitos:

  • Contém apenas de 1 a 63 caracteres alfanuméricos e hifens
  • Começa com um caractere alfabético
  • Termina com um caractere que não é um hífen
  • Não formatado como um UUID
  • Em conformidade com a RFC 1034 (seção 3.5)

No momento, o mapa precisa conter apenas um elemento que descreve a política de escalonamento automático para nós de computação.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

minClusterNodeCount

integer

Opcional. Número mínimo de nós de qualquer tipo em um cluster. Se não for especificado, os limites padrão serão aplicados.

maxClusterNodeCount

integer

Opcional. Número máximo de nós de qualquer tipo em um cluster. Se não for especificado, os limites padrão serão aplicados.

coolDownPeriod

string (Duration format)

Opcional. A duração mínima entre operações consecutivas de escalonamento automático. Ele começa quando a adição ou remoção de nós é totalmente concluída. O padrão é de 30 minutos se não for especificado. O período de espera precisa ser em minutos inteiros (por exemplo, 30, 31, 50, 180 minutos).

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

AutoscalingPolicy

A política de escalonamento automático descreve o comportamento do escalonamento automático em relação à utilização de recursos. A operação de escalonamento horizontal é iniciada se a utilização exceder QUALQUER um dos respectivos limites. A redução de escala é iniciada se a utilização estiver abaixo de TODOS os respectivos limites.

Representação JSON
{
  "nodeTypeId": string,
  "scaleOutSize": integer,
  "cpuThresholds": {
    object (Thresholds)
  },
  "grantedMemoryThresholds": {
    object (Thresholds)
  },
  "consumedMemoryThresholds": {
    object (Thresholds)
  },
  "storageThresholds": {
    object (Thresholds)
  }
}
Campos
nodeTypeId

string

Obrigatório. O identificador canônico do tipo de nó a ser adicionado ou removido. Corresponde ao NodeType.

scaleOutSize

integer

Obrigatório. Número de nós a serem adicionados a um cluster durante uma operação de escalonamento horizontal. Precisa ser divisível por 2 para clusters estendidos. Durante uma operação de redução, apenas um nó (ou dois para clusters estendidos) é removido em uma única iteração.

cpuThresholds

object (Thresholds)

Opcional. Limites de utilização relacionados ao uso da CPU.

grantedMemoryThresholds

object (Thresholds)

Opcional. Limiares de utilização relacionados à quantidade de memória concedida.

consumedMemoryThresholds

object (Thresholds)

Opcional. Limiares de utilização relacionados à quantidade de memória consumida.

storageThresholds

object (Thresholds)

Opcional. Limiares de utilização relacionados à quantidade de armazenamento consumido.

Limites

Os limites definem a utilização de recursos que acionam operações de escalonamento horizontal e vertical.

Representação JSON
{
  "scaleOut": integer,
  "scaleIn": integer
}
Campos
scaleOut

integer

Obrigatório. A utilização que aciona a operação de escalonamento horizontal em porcentagem.

scaleIn

integer

Obrigatório. A utilização que aciona a operação de redução vertical em porcentagem.

DatastoreMountConfig

A configuração de montagem do Datastore

Representação JSON
{
  "fileShare": string,
  "datastore": string,
  "datastoreNetwork": {
    object (DatastoreNetwork)
  },
  "accessMode": enum (AccessMode),
  "nfsVersion": enum (NfsVersion),
  "servers": [
    string
  ]
}
Campos
fileShare

string

Apenas saída. Nome do compartilhamento de arquivos.

datastore

string

Obrigatório. O nome do recurso do datastore a ser montado. Os nomes de recursos são URIs sem esquema que seguem as convenções em https://cloud.google.com/apis/design/resource_names. Por exemplo: projects/my-project/locations/us-central1/datastores/my-datastore

datastoreNetwork

object (DatastoreNetwork)

Obrigatório. A configuração de rede do armazenamento de dados.

accessMode

enum (AccessMode)

Opcional. O modo de acesso do volume NFS. Opcional. O valor padrão usado será READ_WRITE

nfsVersion

enum (NfsVersion)

Opcional. O protocolo NFS compatível com o volume NFS. O valor padrão usado será NFS_V3

servers[]

string

Apenas saída. Endereços IP do servidor do volume NFS. Para o NFS 3, só é possível fornecer um único endereço IP de servidor ou nomes DNS.

DatastoreNetwork

A configuração de rede do armazenamento de dados.

Representação JSON
{
  "subnet": string,
  "mtu": integer,
  "networkPeering": string,
  "connectionCount": integer
}
Campos
subnet

string

Obrigatório. O nome do recurso da sub-rede. Os nomes de recursos são URIs sem esquema que seguem as convenções em https://cloud.google.com/apis/design/resource_names. Por exemplo, projects/my-project/locations/us-central1/subnets/my-subnet

mtu

integer

Opcional. O valor da MTU é definido no adaptador VMKernel para o tráfego NFS. Se não for fornecido, será usado um MTU de 1.500. Para usar frames enormes, defina esse valor como 8896. Recomendamos ajustar esse valor com base no desempenho do tráfego NFS. O desempenho pode ser determinado usando ferramentas de E/S de comparativo de mercado, como o utilitário fio (Flexible I/O Tester).

networkPeering

string

Apenas saída. O nome do recurso do peering de rede, usado para acessar o compartilhamento de arquivos por clientes na nuvem privada. Os nomes de recursos são URIs sem esquema que seguem as convenções em https://cloud.google.com/apis/design/resource_names. Por exemplo, projects/my-project/locations/us-central1/networkPeerings/my-network-peering

connectionCount

integer

Opcional. "connectionCount" é usado para definir várias conexões do cliente NFS no host ESXi para o servidor NFS. Um número maior de conexões resulta em melhor desempenho nos armazenamentos de dados. Na API clusters.mountDatastore, por padrão, são configuradas no máximo quatro conexões. O usuário pode definir o valor de "connectionCount" entre 1 e 4. O Connection_count é compatível com o vSphere 8.0u1. Para versões anteriores, a contagem de conexões da versão 1 é definida nos hosts ESXi.

AccessMode

O modo de acesso do volume NFS.

Tipos enumerados
ACCESS_MODE_UNSPECIFIED O valor padrão. Esse valor nunca pode ser usado.
READ_ONLY O NFS é acessado por hosts no modo de leitura.
READ_WRITE O NFS é acessado por hosts no modo de leitura e gravação

NfsVersion

O protocolo NFS compatível com o volume NFS.

Tipos enumerados
NFS_VERSION_UNSPECIFIED O valor padrão. Esse valor nunca pode ser usado.
NFS_V3 NFS 3

Métodos

create

Cria um cluster em uma determinada nuvem privada.

delete

Exclui um recurso Cluster.

get

Recupera um recurso Cluster pelo nome dele.

getIamPolicy

Busca a política de controle de acesso de um recurso.

list

Lista recursos Cluster em uma determinada nuvem privada.

mountDatastore

Monta um Datastore em um recurso de cluster.

patch

Modifica um recurso Cluster.

setIamPolicy

Define a política de controle de acesso no recurso especificado.

testIamPermissions

Retorna permissões do autor da chamada no recurso especificado.

unmountDatastore

Desmonta um Datastore em um recurso de cluster.