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
}
Campos
name

string

Imutável. O nome do recurso do cluster de usuários do VMware.

adminClusterMembership

string

Obrigatório. O cluster de administrador ao qual esse cluster de usuário do VMware pertence. É o nome completo do recurso da associação da frota do cluster de administrador. No futuro, as 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ários do VMware.

onPremVersion

string

Obrigatório. Os clusters do Anthos na versão VMware para seu cluster de usuário.

uid

string

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

state

enum (State)

Apenas saída. O estado atual do cluster de usuários 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á mudanças em andamento no cluster de usuário do VMware.

createTime

string (Timestamp format)

Apenas saída. O horário em que o cluster de usuário do VMware foi criado.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" 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 hora em que o cluster de usuários do VMware foi atualizado pela última vez.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" 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".

localName

string

Apenas saída. O nome do objeto do recurso personalizado OnPremUserCluster do VMware no cluster de administrador associado. Esse campo é usado para oferecer suporte a nomes conflitantes ao registrar clusters na API. Quando usado como parte da inscrição no cluster, esse campo é diferente do ID no nome do recurso. Para novos clusters, esse campo vai corresponder ao nome do cluster fornecido pelo usuário e vai ficar visível no último componente do nome do recurso. Não é possível modificá-lo.

Todos os usuários precisam usar esse nome para acessar o cluster usando o gkectl ou o kubectl e devem encontrar o nome local ao consultar os registros do controlador do cluster de administrador.

etag

string

Essa checksum é calculada pelo servidor com base no valor de outros campos e pode ser enviada 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)

A AAGConfig especifica se os nós do cluster de usuários do VMware serão 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ários 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 para o Dataplane V2.

vmTrackingEnabled

boolean

Ative o rastreamento de VM.

autoRepairConfig

object (VmwareAutoRepairConfig)

Configuração para reparo automático.

fleet

object (Fleet)

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

authorization

object (Authorization)

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

deleteTime

string (Timestamp format)

Apenas saída. O horário em que o cluster de usuário do VMware foi excluído.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" 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".

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 do cluster.

disableBundledIngress

boolean

Desative a entrada em pacote.

Estado

O estado do ciclo de vida do cluster de usuários 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 prejudicado.
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 da 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)

A 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 repositório 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 vSphere CSI no cluster de usuário do VMware.

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

boolean

Se você quer ou não implantar componentes do vSphere CSI no cluster de usuário do VMware. Ativado por padrão.

VmwareNetworkConfig

Especifica a configuração de rede para o cluster de usuários 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, independentemente do endereço IP do host.

controlPlaneV2Config

object (VmwareControlPlaneV2Config)

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

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

object (VmwareStaticIpConfig)

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

dhcpIpConfig

object (VmwareDhcpIpConfig)

Configurações de um DHCP IP.

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 local 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 do tipo F5 Big IP.

manualLbConfig

object (VmwareManualLbConfig)

Balanceadores de carga configurados manualmente.

seesawConfig

object (VmwareSeesawConfig)

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

metalLbConfig

object (VmwareMetalLbConfig)

Configuração para balanceadores de carga do tipo 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 desse cluster.

ingressVip

string

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

VmwareF5BigIpConfig

Representa parâmetros de configuração de 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. Só é necessário se você estiver usando SNAT.

VmwareManualLbConfig

Representa parâmetros de configuração de um balanceador de carga manual já existente. Dada a natureza dos balanceadores de carga manuais, é esperado que esse balanceador seja totalmente gerenciado 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 pré-existente 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 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 de 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 de conectividade 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 que já existe.

IMPORTANTE: a API Anthos On-Prem não gera nem atualiza configurações do Seesaw. Ela só pode vincular uma configuração já existente a um novo cluster de usuários.

IMPORTANTE: ao tentar criar um cluster de usuários com um balanceador de carga Seesaw pré-existente, você precisa seguir algumas etapas de preparação antes de chamar o método de API "vmwareClusters.create". Primeiro, você precisa criar o namespace do cluster de usuário usando o kubectl. O namespace precisará usar a seguinte convenção de nomenclatura : -gke-onprem-mgmt ou -gke-onprem-mgmt, dependendo se você usou o "VmwareCluster.local_name" para eliminar a ambiguidade das colisões. Para mais contexto, consulte a documentação de "VmwareCluster.local_name". Depois que o namespace for criado, você vai precisar criar um recurso secreto pelo kubectl. Esse segredo vai conter cópias das suas credenciais do Seesaw. O secret precisa ser chamado de "user-cluster-creds" e conter as credenciais de SSH e certificado do Seesaw. As credenciais precisam ser codificadas com os seguintes nomes: "seesaw-ssh-private-key", "seesaw-ssh-public-key", "seesaw-ssh-ca-key" e "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 formato a seguir deve ser usado para o nome do grupo do Seesaw: seesaw-for-[clusterName].

masterIp

string

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

ipBlocks[]

object (VmwareIpBlock)

Obrigatório. Os blocos de IP que serão usados pelo balanceador de carga Seesaw

enableHa

boolean

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

vms[]

string

Nomes das VMs criadas para este 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. O AddressPools é uma lista de pools de IP não sobrepostos usados por serviços do tipo 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 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 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 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 definido como "true", impede que os endereços IP sejam atribuídos automaticamente.

VmwareVCenterConfig

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

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 para o cluster de usuários.

datastore

string

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

datacenter

string

O nome do data center do vCenter para o cluster de usuários.

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ários.

caCertData

string

Contém a chave pública do certificado da AC 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ários.

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 a propriedade dataplaneV2Enabled seja definida como verdadeira.

forwardMode

string

Configure 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ários 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 os 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 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.