REST Resource: projects.locations.vmwareClusters

Recurso: VmwareCluster

Recurso que representa um cluster de usuário 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 usuários do VMware.

adminClusterMembership

string

Obrigatório. O cluster de administrador a que este cluster de usuário do VMware pertence. Esse é o nome completo do recurso da associação da frota do cluster de administrador. No futuro, referências a outros tipos de recursos poderão ser permitidas se os clusters de administrador forem modelados como recursos próprios.

description

string

Uma descrição legível deste cluster de usuário do VMware.

onPremVersion

string

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

uid

string

Apenas saída. O identificador exclusivo do cluster de usuário do VMware.

state

enum (State)

Apenas saída. O estado atual do cluster de usuário do VMware.

endpoint

string

Apenas saída. O nome DNS do servidor da API do cluster de usuário do VMware.

reconciling

boolean

Apenas saída. Se definido, há alterações em andamento no cluster de usuário do VMware.

createTime

string (Timestamp format)

Apenas saída. O horário de criação do cluster de usuário do VMware.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "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 usuários do VMware foi atualizado pela última vez.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "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. Esse campo é usado para oferecer suporte a nomes conflitantes ao registrar clusters atuais na API. Quando usado como parte do registro do cluster, esse campo será diferente do ID no nome do recurso. Para novos clusters, esse campo vai corresponder ao nome fornecido pelo usuário e ficará visível no último componente do nome do recurso. Ela não pode ser modificada.

Todos os usuários precisam usar esse nome para acessar o cluster com gkectl ou kubectl e esperar ver o nome local ao visualizar os registros do controlador do cluster de administrador.

etag

string

Esse checksum é calculado pelo servidor com base no valor de outros campos e pode ser enviado em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de prosseguir. Permite que os clientes realizem leituras e modificações da gravação consistentes por meio do controle otimista de simultaneidade.

annotations

map (key: string, value: string)

Anotações no cluster de usuário 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 é limitado a 256 mil. A chave pode ter dois segmentos: prefixo (opcional) e nome (exigido), separados por uma barra (/). O prefixo precisa ser um subdomínio DNS. O nome deve ter 63 caracteres ou menos, começar e terminar com caracteres alfanuméricos, com traços (-), sublinhados (_), pontos (.) e caracteres alfanuméricos entre eles.

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

controlPlaneNode

object (VmwareControlPlaneNodeConfig)

Os nós do plano de controle do cluster de usuário do VMware precisam ter uma ou três réplicas.

antiAffinityGroups

object (VmwareAAGConfig)

O AAGConfig especifica se os nós do cluster de usuário do VMware devem ser distribuídos por pelo menos três hosts físicos no data center.

storage

object (VmwareStorageConfig)

Configuração de armazenamento.

networkConfig

object (VmwareNetworkConfig)

A configuração de rede do cluster de usuário 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 usuário. Se não for especificado, ele será 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 rastreamento de VM.

autoRepairConfig

object (VmwareAutoRepairConfig)

Configuração para o reparo automático.

fleet

object (Fleet)

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

authorization

object (Authorization)

Política de RBAC que será aplicada e gerenciada pela API Anthos On-Prem.

deleteTime

string (Timestamp format)

Apenas saída. A data e a hora em que o cluster de usuário do VMware foi excluído.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "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 do job de verificação de simulação.

adminClusterName

string

Apenas saída. O nome do recurso do cluster de administrador do VMware que hospeda esse cluster de usuário.

enableControlPlaneV2

boolean

Ative o plano de controle V2. O padrão é "false".

binaryAuthorization

object (BinaryAuthorization)

Configurações relacionadas à autorização binária.

upgradePolicy

object (VmwareClusterUpgradePolicy)

Especifica a política de upgrade para o cluster.

disableBundledIngress

boolean

Desative a entrada em pacote.

enableAdvancedCluster

boolean

Ative o cluster avançado.

Estado

O estado do ciclo de vida do cluster de usuário do VMware.

Enums
STATE_UNSPECIFIED Não definido
PROVISIONING O estado PROVISIONING indica que o cluster está sendo criado.
RUNNING O estado RUNNING indica que o cluster foi criado e é totalmente utilizável.
RECONCILING O estado RECONCILING indica que o cluster está sendo atualizado. Ele continua disponível, mas com desempenho potencialmente reduzido.
STOPPING O estado STOPPING indica que o cluster está sendo excluído.
ERROR O estado ERROR indica que o cluster está em um estado corrompido e irrecuperável.
DEGRADED O estado DEGRADED indica que o cluster exige uma ação do usuário para restaurar a funcionalidade completa.

VmwareControlPlaneNodeConfig

Especifica a configuração do nó do plano de controle para o cluster de usuário 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ó de cluster de administrador que serve como plano de controle para este cluster de usuário do VMware. (padrão: 4 CPUs)

memory

string (int64 format)

Os megabytes de memória para cada nó de cluster de administrador que serve como plano de controle para este cluster de usuário do VMware (padrão: 8.192 MB de memória).

replicas

string (int64 format)

O número de nós do plano de controle para este cluster de usuário do VMware. (padrão: 1 réplica).

autoResizeConfig

object (VmwareAutoResizeConfig)

O 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 controle.

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

string

O armazenamento de dados do vSphere usado pelo nó do plano de controle.

storagePolicyName

string

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

VmwareStorageConfig

Especifica a configuração de implantação de componentes do CSI do vSphere no cluster de usuário do VMware.

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

boolean

Se os componentes do CSI do vSphere serão implantados no cluster de usuário do VMware. Ativado por padrão.

VmwareNetworkConfig

Especifica a configuração de rede para o cluster de usuário 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 do cluster recebem um endereço IPv4 RFC1918 desses intervalos. Só é possível usar um intervalo. Este campo não pode ser alterado após a criação.

podAddressCidrBlocks[]

string

Obrigatório. Todos os pods no cluster recebem um endereço IPv4 RFC1918 desses intervalos. Só é possível usar um intervalo. Este campo não pode ser alterado após a criação.

vcenterNetwork

string

vcenterNetwork especifica o nome da rede do vCenter. Herdado do cluster de administrador.

hostConfig

object (VmwareHostConfig)

Representa configurações de rede comuns, independente do endereço IP do host.

controlPlaneV2Config

object (VmwareControlPlaneV2Config)

Configuração para o modo do plano de controle V2.

Campo de união ip_configuration. O tipo de configuração de IP usado pelo cluster de usuário do VMware. ip_configuration pode ser apenas de um dos tipos a seguir:
staticIpConfig

object (VmwareStaticIpConfig)

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

dhcpIpConfig

object (VmwareDhcpIpConfig)

Configurações de uma configuração de IP do DHCP.

VmwareControlPlaneV2Config

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

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

object (VmwareIpBlock)

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

VmwareLoadBalancerConfig

Especifica a configuração do balanceador de carga para o cluster de usuário 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 VIPs usados pelo balanceador de carga.

Campo de união load_balancer_configuration. A configuração do balanceador de carga a ser usada no cluster de usuário. load_balancer_configuration pode ser apenas de um dos tipos a seguir:
f5Config

object (VmwareF5BigIpConfig)

Configuração para balanceadores de carga tipados F5 Big IP.

manualLbConfig

object (VmwareManualLbConfig)

Balanceadores de carga configurados manualmente.

seesawConfig

object (VmwareSeesawConfig)

Apenas saída. Configuração para balanceadores de carga tipados do Seesaw.

metalLbConfig

object (VmwareMetalLbConfig)

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

VmwareVipConfig

Especifica a configuração de VIP para o balanceador de carga do cluster de usuário do VMware.

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

string

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

ingressVip

string

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

VmwareF5BigIpConfig

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

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

string

O endereço IP do balanceador de carga.

partition

string

A partição preexistente a ser usada pelo balanceador de carga. Essa partição geralmente é criada para o cluster de administrador, por exemplo, "my-f5-admin-partition".

snatPool

string

O nome do pool. Necessário apenas se você estiver usando SNAT.

VmwareManualLbConfig

Representa parâmetros de configuração para um balanceador de carga manual já existente. Devido à natureza dos balanceadores de carga manuais, espera-se que eles sejam totalmente gerenciados pelos usuários.

IMPORTANTE: a API Anthos On-Prem não gera nem atualiza configurações do ManualLB. Ela só pode vincular uma configuração preexistente a um novo cluster de usuário 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 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 controle. 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 de servidor konnectivity em execução como um sidecar em cada pod kube-apiserver (por exemplo, 30564).

VmwareSeesawConfig

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

IMPORTANTE: a API Anthos On-Prem não gera nem atualiza configurações do Seesaw. Ela apenas vincula uma configuração preexistente a um novo cluster de usuário.

IMPORTANTE: ao tentar criar um cluster de usuário com um balanceador de carga Seesaw preexistente, siga algumas etapas de preparação antes de chamar o método da API "vmwareClusters.create". Primeiro, crie o namespace do cluster de usuário usando kubectl. O namespace precisa usar a seguinte convenção de nomenclatura : -gke-onprem-mgmt ou -gke-onprem-mgmt, dependendo se você usou "VmwareCluster.local_name" para evitar colisões. Para mais contexto, consulte a documentação de "VmwareCluster.local_name". Depois de criar o namespace, crie um recurso secret usando kubectl. Esse secret vai conter cópias das suas credenciais do Seesaw. O Secret precisa ser chamado de "user-cluster-creds" e conter as credenciais SSH e de certificado do Seesaw. As credenciais precisam ser chaves 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, o seguinte formato deve ser usado para o nome do grupo do Seesaw: seesaw-for-[clusterName].

masterIp

string

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

ipBlocks[]

object (VmwareIpBlock)

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

enableHa

boolean

Ative duas VMs de balanceador de carga para ter um balanceador de carga do Seesaw de alta disponibilidade.

vms[]

string

Nomes das VMs criadas para esse grupo do Seesaw.

stackdriverName

string

Nome a ser usado pelo Stackdriver.

VmwareMetalLbConfig

Representa parâmetros de configuração para o balanceador de carga MetalLB.

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

object (VmwareAddressPool)

Obrigatório. "AddressPools" é uma lista de pools de IP não sobrepostos usados por serviços tipados de balanceador de carga. Todos os endereços precisam ser roteáveis para os nós do balanceador de carga. O IngressVIP precisa ser incluído nos pools.

VmwareAddressPool

Representa um pool de IP usado pelo balanceador de carga.

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

string

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

addresses[]

string

Obrigatório. Os endereços que fazem parte desse pool. Cada endereço precisa estar no formato CIDR (1.2.3.0/24) ou de intervalo (1.2.3.1-1.2.3.5).

avoidBuggyIps

boolean

Se for verdadeiro, evite usar IPs que terminam em .0 ou .255. Isso evita que dispositivos de consumo com bugs descartem por engano o tráfego IPv4 para esses endereços IP especiais.

manualAssign

boolean

Se for "true", impede que os endereços IP sejam atribuídos automaticamente.

VmwareVCenterConfig

Representa a configuração do VMware vCenter para o cluster de usuário.

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 pool de recursos do vCenter do cluster de usuário.

datastore

string

O nome do repositório de dados do vCenter para o cluster de usuário.

datacenter

string

O nome do data center do vCenter do cluster de usuário.

cluster

string

O nome do cluster do vCenter para o cluster de usuário.

folder

string

O nome da pasta do vCenter para o cluster de usuário.

caCertData

string

Contém a chave pública do certificado de CA do vCenter para verificaçã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 usuário.

VmwareDataplaneV2Config

Contém configurações para o Dataplane V2, que é um plano de dados otimizado para a rede do 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

Ative a rede avançada, que exige que dataplaneV2Enabled seja definido como "true".

forwardMode

string

Configura o ForwardMode para o Dataplane V2.

VmwareClusterUpgradePolicy

VmwareClusterUpgradePolicy define a política de upgrade do cluster.

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

boolean

Controla se o upgrade se aplica apenas ao plano de controle.

Métodos

create

Cria um novo cluster de usuário do VMware em um determinado projeto e local.

delete

Exclui um único cluster do VMware.

enroll

Registra um cluster de usuário do VMware e seus pools de nós na API Anthos On-Prem em um determinado projeto e local.

get

Recebe detalhes de um único cluster do VMware.

list

Lista os clusters do VMware em um determinado projeto e local.

patch

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

queryVersionConfig

Consulta a configuração da versão do cluster de usuário do VMware.