REST Resource: projects.locations.vmwareClusters

Recurso: VmwareCluster

Recurso que representa um cluster de utilizadores do VMware.

##

Representação JSON
{
  "name": string,
  "adminClusterMembership": string,
  "description": string,
  "onPremVersion": string,
  "uid": string,
  "state": enum (State),
  "endpoint": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "localName": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "controlPlaneNode": {
    object (VmwareControlPlaneNodeConfig)
  },
  "antiAffinityGroups": {
    object (VmwareAAGConfig)
  },
  "storage": {
    object (VmwareStorageConfig)
  },
  "networkConfig": {
    object (VmwareNetworkConfig)
  },
  "loadBalancer": {
    object (VmwareLoadBalancerConfig)
  },
  "vcenter": {
    object (VmwareVCenterConfig)
  },
  "status": {
    object (ResourceStatus)
  },
  "dataplaneV2": {
    object (VmwareDataplaneV2Config)
  },
  "vmTrackingEnabled": boolean,
  "autoRepairConfig": {
    object (VmwareAutoRepairConfig)
  },
  "fleet": {
    object (Fleet)
  },
  "authorization": {
    object (Authorization)
  },
  "deleteTime": string,
  "validationCheck": {
    object (ValidationCheck)
  },
  "adminClusterName": string,
  "enableControlPlaneV2": boolean,
  "binaryAuthorization": {
    object (BinaryAuthorization)
  },
  "upgradePolicy": {
    object (VmwareClusterUpgradePolicy)
  },
  "disableBundledIngress": boolean,
  "enableAdvancedCluster": boolean
}
Campos
name

string

Imutável. O nome do recurso do cluster de utilizadores do VMware.

adminClusterMembership

string

Obrigatório. O cluster de administrador ao qual este cluster de utilizadores do VMware pertence. Este é o nome do recurso completo da associação da frota do cluster de administrador. No futuro, as referências a outros tipos de recursos podem ser permitidas se os clusters de administração forem modelados como os seus próprios recursos.

description

string

Uma descrição legível deste cluster de utilizadores do VMware.

onPremVersion

string

Obrigatório. A versão dos clusters do Anthos no VMware para o seu cluster de utilizador.

uid

string

Apenas saída. O identificador exclusivo do cluster de utilizadores do VMware.

state

enum (State)

Apenas saída. O estado atual do cluster de utilizadores do VMware.

endpoint

string

Apenas saída. O nome DNS do servidor da API do cluster de utilizadores do VMware.

reconciling

boolean

Apenas saída. Se estiver definida, existem atualmente alterações em curso no cluster de utilizadores do VMware.

createTime

string (Timestamp format)

Apenas saída. A hora em que o cluster de utilizadores do VMware foi criado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". 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 hora em que o cluster de utilizadores do VMware foi atualizado pela última vez.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

localName

string

Apenas saída. O nome do objeto do recurso personalizado VMware OnPremUserCluster no cluster de administrador associado. Este campo é usado para suportar nomes em conflito quando inscreve clusters existentes na API. Quando usado como parte da inscrição no cluster, este campo difere do ID no nome do recurso. Para novos clusters, este campo vai corresponder ao nome do cluster fornecido pelo utilizador e vai estar visível no último componente do nome do recurso. Não é modificável.

Todos os utilizadores devem usar este nome para aceder ao respetivo cluster através de gkectl ou kubectl e devem esperar ver o nome local quando visualizam os registos do controlador do cluster de administrador.

etag

string

Esta soma de verificação é calculada pelo servidor com base no valor de outros campos e pode ser enviada em pedidos de atualização e eliminação para garantir que o cliente tem um valor atualizado antes de continuar. Permite que os clientes façam leituras-modificações-escritas consistentes através do controlo de concorrência otimista.

annotations

map (key: string, value: string)

Anotações no cluster de utilizadores do VMware. Este campo tem as mesmas restrições que as anotações do Kubernetes. O tamanho total de todas as chaves e valores combinados está limitado a 256 KB. A chave pode ter 2 segmentos: prefixo (opcional) e nome (obrigatório), separados por uma barra (/). O prefixo tem de ser um subdomínio DNS. O nome tem de ter 63 carateres ou menos, começar e terminar com carateres alfanuméricos, com traços (-), sublinhados (_), pontos (.) e carateres alfanuméricos entre eles.

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

controlPlaneNode

object (VmwareControlPlaneNodeConfig)

Os nós do plano de controlo do cluster de utilizadores do VMware têm de ter 1 ou 3 réplicas.

antiAffinityGroups

object (VmwareAAGConfig)

A AAGConfig especifica se os nós do cluster de utilizadores do VMware devem ser distribuídos por, pelo menos, três anfitriões físicos no centro de dados.

storage

object (VmwareStorageConfig)

Configuração de armazenamento.

networkConfig

object (VmwareNetworkConfig)

A configuração de rede do cluster de utilizadores do VMware.

loadBalancer

object (VmwareLoadBalancerConfig)

Configuração do balanceador de carga.

vcenter

object (VmwareVCenterConfig)

VmwareVCenterConfig especifica a configuração do vCenter para o cluster de utilizadores. Se não for especificado, é herdado do cluster de administrador.

status

object (ResourceStatus)

Apenas saída. ResourceStatus que representa o estado detalhado do cluster.

dataplaneV2

object (VmwareDataplaneV2Config)

VmwareDataplaneV2Config especifica a configuração do Dataplane V2.

vmTrackingEnabled

boolean

Ative o acompanhamento de VMs.

autoRepairConfig

object (VmwareAutoRepairConfig)

Configuração para a reparação automática.

fleet

object (Fleet)

Apenas saída. Configuração da frota para o cluster.

authorization

object (Authorization)

Política de CABF que vai ser aplicada e gerida pela API Anthos On-Prem.

deleteTime

string (Timestamp format)

Apenas saída. A hora em que o cluster de utilizadores do VMware foi eliminado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

validationCheck

object (ValidationCheck)

Apenas saída. ValidationCheck representa o resultado da tarefa de verificação prévia.

adminClusterName

string

Apenas saída. O nome do recurso do cluster de administrador do VMware que aloja este cluster de utilizador.

enableControlPlaneV2

boolean

Ative o plano de controlo V2. A predefinição é false.

binaryAuthorization

object (BinaryAuthorization)

Configurações relacionadas com a Autorização binária.

upgradePolicy

object (VmwareClusterUpgradePolicy)

Especifica a política de atualização do cluster.

disableBundledIngress

boolean

Desative a entrada agrupada.

enableAdvancedCluster

boolean

Ative o cluster avançado.

Estado

O estado do ciclo de vida do cluster de utilizadores do VMware.

Enumerações
STATE_UNSPECIFIED Não definido.
PROVISIONING O estado PROVISIONING indica que o cluster está a ser criado.
RUNNING O estado RUNNING indica que o cluster foi criado e está totalmente utilizável.
RECONCILING O estado RECONCILING indica que o cluster está a ser atualizado. Continua disponível, mas potencialmente com um desempenho inferior.
STOPPING O estado STOPPING indica que o cluster está a ser eliminado.
ERROR O estado ERROR indica que o cluster está num estado danificado irrecuperável.
DEGRADED O estado DEGRADED indica que o cluster requer a ação do utilizador para restaurar a funcionalidade completa.

VmwareControlPlaneNodeConfig

Especifica a configuração do nó do plano de controlo para o cluster de utilizadores do VMware.

Representação JSON
{
  "cpus": string,
  "memory": string,
  "replicas": string,
  "autoResizeConfig": {
    object (VmwareAutoResizeConfig)
  },
  "vsphereConfig": {
    object (VmwareControlPlaneVsphereConfig)
  }
}
Campos
cpus

string (int64 format)

O número de CPUs para cada nó do cluster de administrador que servem como planos de controlo para este cluster de utilizador do VMware. (predefinição: 4 CPUs)

memory

string (int64 format)

Os megabytes de memória para cada nó do cluster de administrador que serve como um plano de controlo para este cluster de utilizador do VMware (predefinição: 8192 MB de memória).

replicas

string (int64 format)

O número de nós do plano de controlo para este cluster de utilizadores do VMware. (predefinição: 1 réplica).

autoResizeConfig

object (VmwareAutoResizeConfig)

AutoResizeConfig fornece configurações de redimensionamento automático.

vsphereConfig

object (VmwareControlPlaneVsphereConfig)

Configuração específica do vSphere.

VmwareControlPlaneVsphereConfig

Especifica a configuração do nó do plano de controlo.

Representação JSON
{
  "datastore": string,
  "storagePolicyName": string
}
Campos
datastore

string

O repositório de dados do Vsphere usado pelo nó do plano de controlo.

storagePolicyName

string

A política de armazenamento do vSphere usada pelo nó do plano de controlo.

VmwareStorageConfig

Especifica a configuração de implementação dos componentes CSI do vSphere no cluster de utilizadores do VMware.

Representação JSON
{
  "vsphereCsiDisabled": boolean
}
Campos
vsphereCsiDisabled

boolean

Se deve ou não implementar componentes do CSI do vSphere no cluster de utilizadores do VMware. Ativada por predefinição.

VmwareNetworkConfig

Especifica a configuração de rede para o cluster de utilizadores do VMware.

Representação JSON
{
  "serviceAddressCidrBlocks": [
    string
  ],
  "podAddressCidrBlocks": [
    string
  ],
  "vcenterNetwork": string,
  "hostConfig": {
    object (VmwareHostConfig)
  },
  "controlPlaneV2Config": {
    object (VmwareControlPlaneV2Config)
  },

  // Union field ip_configuration can be only one of the following:
  "staticIpConfig": {
    object (VmwareStaticIpConfig)
  },
  "dhcpIpConfig": {
    object (VmwareDhcpIpConfig)
  }
  // End of list of possible types for union field ip_configuration.
}
Campos
serviceAddressCidrBlocks[]

string

Obrigatório. Todos os serviços no cluster têm um endereço IPv4 RFC1918 atribuído a partir destes intervalos. Só é suportado um intervalo. Não é possível alterar este campo após a criação.

podAddressCidrBlocks[]

string

Obrigatório. Todos os pods no cluster têm um endereço IPv4 RFC1918 atribuído a partir destes intervalos. Só é suportado um intervalo. Não é possível alterar este campo após a criação.

vcenterNetwork

string

vcenterNetwork especifica o nome da rede do vCenter. Herdado do cluster de administração.

hostConfig

object (VmwareHostConfig)

Representa as definições de rede comuns, independentemente do endereço IP do anfitrião.

controlPlaneV2Config

object (VmwareControlPlaneV2Config)

Configuração para o modo de plano de controlo V2.

Campo de união ip_configuration. O tipo de configuração de IP usado pelo cluster de utilizadores do VMware. ip_configuration só pode ser uma das seguintes opções:
staticIpConfig

object (VmwareStaticIpConfig)

Definições de configuração para uma configuração de IP estático.

dhcpIpConfig

object (VmwareDhcpIpConfig)

Definições de configuração para uma configuração de IP de DHCP.

VmwareControlPlaneV2Config

Especifica a configuração do plano de controlo V2.

Representação JSON
{
  "controlPlaneIpBlock": {
    object (VmwareIpBlock)
  }
}
Campos
controlPlaneIpBlock

object (VmwareIpBlock)

Endereços IP estáticos para os nós do plano de controlo.

VmwareLoadBalancerConfig

Especifica a configuração do equilibrador de carga para o cluster de utilizadores do VMware.

Representação JSON
{
  "vipConfig": {
    object (VmwareVipConfig)
  },

  // Union field load_balancer_configuration can be only one of the following:
  "f5Config": {
    object (VmwareF5BigIpConfig)
  },
  "manualLbConfig": {
    object (VmwareManualLbConfig)
  },
  "seesawConfig": {
    object (VmwareSeesawConfig)
  },
  "metalLbConfig": {
    object (VmwareMetalLbConfig)
  }
  // End of list of possible types for union field load_balancer_configuration.
}
Campos
vipConfig

object (VmwareVipConfig)

Os IPs virtuais usados pelo balanceador de carga.

Campo de união load_balancer_configuration. A configuração do equilibrador de carga a ser usada no cluster de utilizadores. load_balancer_configuration só pode ser uma das seguintes opções:
f5Config

object (VmwareF5BigIpConfig)

Configuração para equilibradores de carga introduzidos do F5 Big IP.

manualLbConfig

object (VmwareManualLbConfig)

Balanceadores de carga configurados manualmente.

seesawConfig

object (VmwareSeesawConfig)

Apenas saída. Configuração para equilibradores de carga introduzidos no Seesaw.

metalLbConfig

object (VmwareMetalLbConfig)

Configuração para equilibradores de carga tipados do MetalLB.

VmwareVipConfig

Especifica a configuração de VIP para o equilibrador de carga do cluster de utilizadores do VMware.

Representação JSON
{
  "controlPlaneVip": string,
  "ingressVip": string
}
Campos
controlPlaneVip

string

O VIP que reservou anteriormente para a API Kubernetes deste cluster.

ingressVip

string

O VIP que reservou anteriormente para o tráfego de entrada neste cluster.

VmwareF5BigIpConfig

Representa parâmetros de configuração para um equilibrador de carga F5 BIG-IP.

Representação JSON
{
  "address": string,
  "partition": string,
  "snatPool": string
}
Campos
address

string

O endereço IP do equilibrador de carga.

partition

string

A partição preexistente a ser usada pelo balanceador de carga. Normalmente, esta partição é criada para o cluster de administração, por exemplo: "my-f5-admin-partition".

snatPool

string

O nome do conjunto. Só é necessário se usar SNAT.

VmwareManualLbConfig

Representa os parâmetros de configuração de um equilibrador de carga manual já existente. Dada a natureza dos equilibradores de carga manuais, espera-se que estes sejam totalmente geridos pelos utilizadores.

IMPORTANTE: tenha em atenção que a API Anthos On-Prem não gera nem atualiza configurações do ManualLB. Só pode associar uma configuração pré-existente a um novo cluster de utilizadores do VMware.

Representação JSON
{
  "ingressHttpNodePort": integer,
  "ingressHttpsNodePort": integer,
  "controlPlaneNodePort": integer,
  "konnectivityServerNodePort": integer
}
Campos
ingressHttpNodePort

integer

NodePort para o http do serviço de entrada O serviço de entrada no cluster de administrador é implementado como um serviço do tipo NodePort (por exemplo, 32527).

ingressHttpsNodePort

integer

NodePort para o HTTPS do serviço de entrada. O serviço de entrada no cluster de administrador é implementado como um serviço do tipo NodePort (por exemplo, 30139).

controlPlaneNodePort

integer

NodePort para o serviço do plano de controlo. O servidor da API Kubernetes no cluster de administrador é implementado como um serviço do tipo NodePort (por exemplo, 30968).

konnectivityServerNodePort

integer

NodePort para o serviço do servidor de conetividade em execução como um sidecar em cada pod kube-apiserver (por exemplo, 30564).

VmwareSeesawConfig

VmwareSeesawConfig representa os parâmetros de configuração de um balanceador de carga do Seesaw já existente.

IMPORTANTE: tenha em atenção que a API Anthos On-Prem não gera nem atualiza as configurações do Seesaw. Só pode associar uma configuração pré-existente a um novo cluster de utilizadores.

IMPORTANTE: quando tentar criar um cluster de utilizadores com um equilibrador de carga do Seesaw pré-existente, tem de seguir alguns passos de preparação antes de chamar o método da API "vmwareClusters.create". Primeiro, tem de criar o espaço de nomes do cluster de utilizadores através do kubectl. O espaço de nomes tem de usar a seguinte convenção de nomenclatura : -gke-onprem-mgmt ou -gke-onprem-mgmt, consoante tenha usado "VmwareCluster.local_name" para desambiguar colisões. Para mais contexto, consulte a documentação de "VmwareCluster.local_name". Depois de criar o espaço de nomes, tem de criar um recurso secreto através do kubectl. Este segredo vai conter cópias das suas credenciais do Seesaw. O segredo tem de se chamar "user-cluster-creds" e conter as credenciais de SSH e de certificado do Seesaw. As credenciais têm de ser introduzidas com os seguintes nomes: "seesaw-ssh-private-key", "seesaw-ssh-public-key", "seesaw-ssh-ca-key", "seesaw-ssh-ca-cert".

Representação JSON
{
  "group": string,
  "masterIp": string,
  "ipBlocks": [
    {
      object (VmwareIpBlock)
    }
  ],
  "enableHa": boolean,
  "vms": [
    string
  ],
  "stackdriverName": string
}
Campos
group

string

Obrigatório. Em geral, deve usar o seguinte formato para o nome do grupo Seesaw: seesaw-for-[clusterName].

masterIp

string

Obrigatório. O MasterIP é o IP anunciado pelo mestre do grupo Seesaw.

ipBlocks[]

object (VmwareIpBlock)

Obrigatório. Os blocos de IP a serem usados pelo balanceador de carga do Seesaw

enableHa

boolean

Ative duas VMs do balanceador de carga para alcançar um balanceador de carga do Seesaw de alta disponibilidade.

vms[]

string

Nomes das VMs criadas para este grupo do Seesaw.

stackdriverName

string

Nome a ser usado pelo Stackdriver.

VmwareMetalLbConfig

Representa os parâmetros de configuração do equilibrador de carga do MetalLB.

Representação JSON
{
  "addressPools": [
    {
      object (VmwareAddressPool)
    }
  ]
}
Campos
addressPools[]

object (VmwareAddressPool)

Obrigatório. AddressPools é uma lista de pools de IPs não sobrepostos usados por serviços com tipos de balanceadores de carga. Todos os endereços têm de ser encaminháveis para os nós do equilibrador de carga. O IngressVIP tem de estar incluído nos pools.

VmwareAddressPool

Representa um conjunto de IPs usado pelo balanceador de carga.

Representação JSON
{
  "pool": string,
  "addresses": [
    string
  ],
  "avoidBuggyIps": boolean,
  "manualAssign": boolean
}
Campos
pool

string

Obrigatório. O nome do conjunto de endereços.

addresses[]

string

Obrigatório. As moradas que fazem parte deste conjunto. Cada endereço tem de estar no formato CIDR (1.2.3.0/24) ou no formato de intervalo (1.2.3.1-1.2.3.5).

avoidBuggyIps

boolean

Se for verdade, evite usar IPs que terminem em .0 ou .255. Isto evita que os dispositivos de consumo com erros rejeitem por engano o tráfego IPv4 para esses endereços IP especiais.

manualAssign

boolean

Se o valor for verdadeiro, impede que os endereços IP sejam atribuídos automaticamente.

VmwareVCenterConfig

Representa a configuração do VMware vCenter para o cluster de utilizadores.

Representação JSON
{
  "resourcePool": string,
  "datastore": string,
  "datacenter": string,
  "cluster": string,
  "folder": string,
  "caCertData": string,
  "address": string,
  "storagePolicyName": string
}
Campos
resourcePool

string

O nome do conjunto de recursos do vCenter para o cluster de utilizadores.

datastore

string

O nome do banco de dados do vCenter para o cluster de utilizadores.

datacenter

string

O nome do centro de dados do vCenter para o cluster de utilizadores.

cluster

string

O nome do cluster do vCenter para o cluster de utilizadores.

folder

string

O nome da pasta do vCenter para o cluster de utilizadores.

caCertData

string

Contém a chave pública do certificado da AC do vCenter para validação SSL.

address

string

Apenas saída. O endereço IP do vCenter.

storagePolicyName

string

O nome da política de armazenamento do vCenter para o cluster de utilizadores.

VmwareDataplaneV2Config

Contém configurações para o Dataplane V2, que é um dataplane otimizado para redes Kubernetes. Para mais informações, consulte: https://cloud.google.com/kubernetes-engine/docs/concepts/dataplane-v2

Representação JSON
{
  "dataplaneV2Enabled": boolean,
  "windowsDataplaneV2Enabled": boolean,
  "advancedNetworking": boolean,
  "forwardMode": string
}
Campos
dataplaneV2Enabled

boolean

Ativa o Dataplane V2.

windowsDataplaneV2Enabled

boolean

Ative o Dataplane V2 para clusters com nós do Windows.

advancedNetworking

boolean

Ativar a rede avançada, que requer que dataplaneV2Enabled esteja definido como verdadeiro.

forwardMode

string

Configure o ForwardMode para o Dataplane v2.

VmwareClusterUpgradePolicy

VmwareClusterUpgradePolicy define a política de atualização do cluster.

Representação JSON
{
  "controlPlaneOnly": boolean
}
Campos
controlPlaneOnly

boolean

Controla se a atualização se aplica apenas ao plano de controlo.

Métodos

create

Cria um novo cluster de utilizadores do VMware num determinado projeto e localização.

delete

Elimina um único cluster VMware.

enroll

Inscreve um cluster de utilizadores do VMware existente e os respetivos conjuntos de nós na API Anthos On-Prem num determinado projeto e localização.

get

Obtém detalhes de um único cluster VMware.

list

Apresenta os clusters VMware num determinado projeto e localização.

patch

Atualiza os parâmetros de um único cluster VMware.

queryVersionConfig

Consulta a configuração da versão do cluster de utilizadores do VMware.