REST Resource: projects.locations.awsClusters

Recurso: AwsCluster

Um cluster do Anthos em execução no AWS.

Representação JSON
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
Campos
name

string

O nome deste recurso.

Os nomes dos clusters estão formatados como projects/<project-number>/locations/<region>/awsClusters/<cluster-id>.

Consulte Nomes de recursos para ver mais detalhes sobre os nomes de recursos da Google Cloud Platform.

description

string

Opcional. Uma descrição legível deste cluster. Não pode ter mais de 255 bytes codificados em UTF-8.

networking

object (AwsClusterNetworking)

Obrigatório. Configuração de rede ao nível do cluster.

awsRegion

string

Obrigatório. A região da AWS onde o cluster é executado.

Cada região do Google Cloud suporta um subconjunto de regiões da AWS próximas. Pode chamar locations.getAwsServerConfig para listar todas as regiões da AWS suportadas numa determinada região do Google Cloud.

controlPlane

object (AwsControlPlane)

Obrigatório. Configuração relacionada com o plano de controlo do cluster.

authorization

object (AwsAuthorization)

Obrigatório. Configuração relacionada com as definições de RBAC do cluster.

state

enum (State)

Apenas saída. O estado atual do cluster.

endpoint

string

Apenas saída. O ponto final do servidor da API do cluster.

uid

string

Apenas saída. Um identificador global exclusivo do cluster.

reconciling

boolean

Apenas saída. Se estiver definido, existem atualmente alterações em curso no cluster.

createTime

string (Timestamp format)

Apenas saída. A hora em que este cluster 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 este cluster 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".

etag

string

Permite que os clientes façam leituras-modificações-escritas consistentes através do controlo de concorrência otimista.

Pode ser enviado em pedidos de atualização e eliminação para garantir que o cliente tem um valor atualizado antes de continuar.

annotations

map (key: string, value: string)

Opcional. Anotações no cluster.

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" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Apenas saída. Definições do Workload Identity.

clusterCaCertificate

string

Apenas saída. Certificado x509 codificado em PEM da raiz fidedigna do cluster.

fleet

object (Fleet)

Obrigatório. Configuração da frota.

loggingConfig

object (LoggingConfig)

Opcional. Configuração de registo para este cluster.

errors[]

object (AwsClusterError)

Apenas saída. Um conjunto de erros encontrados no cluster.

monitoringConfig

object (MonitoringConfig)

Opcional. Configuração de monitorização para este cluster.

binaryAuthorization

object (BinaryAuthorization)

Opcional. Configuração da autorização binária para este cluster.

AwsClusterNetworking

ClusterNetworking define a configuração de rede ao nível do cluster.

Os clusters do Anthos no AWS são executados numa única VPC. Isto inclui réplicas do plano de controlo e nós do conjunto de nós.

Representação JSON
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
Campos
vpcId

string

Obrigatório. A VPC associada ao cluster. Todos os clusters de componentes (ou seja, o plano de controlo e os node pools) são executados numa única VPC.

Não é possível alterar este campo após a criação.

podAddressCidrBlocks[]

string

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

serviceAddressCidrBlocks[]

string

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

perNodePoolSgRulesDisabled

boolean

Opcional. Desative as regras do grupo de segurança da sub-rede por conjunto de nós no grupo de segurança do plano de controlo. Quando definido como verdadeiro, também tem de fornecer um ou mais grupos de segurança que garantam que os conjuntos de nós conseguem enviar pedidos para o plano de controlo em TCP/443 e TCP/8132. Se não o fizer, os conjuntos de nós podem ficar indisponíveis.

AwsControlPlane

ControlPlane define parâmetros comuns entre nós do plano de controlo.

Representação JSON
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
Campos
version

string

Obrigatório. A versão do Kubernetes a executar em réplicas do plano de controlo (por exemplo, 1.19.10-gke.1000).

Pode listar todas as versões suportadas numa determinada região do Google Cloud chamando locations.getAwsServerConfig.

instanceType

string

Opcional. O tipo de instância da AWS.

Quando não especificado, usa uma predefinição baseada na versão do cluster.

sshConfig

object (AwsSshConfig)

Opcional. Configuração SSH para saber como aceder às máquinas do plano de controlo subjacente.

subnetIds[]

string

Obrigatório. A lista de sub-redes onde as réplicas do plano de controlo serão executadas. É aprovisionada uma réplica em cada sub-rede, e podem ser fornecidos até três valores. Cada sub-rede tem de estar numa zona de disponibilidade (AZ) da AWS diferente.

securityGroupIds[]

string

Opcional. Os IDs de grupos de segurança adicionais a adicionar às réplicas do plano de controlo. A API Anthos Multi-Cloud cria e gere automaticamente grupos de segurança com as regras mínimas necessárias para um cluster em funcionamento.

iamInstanceProfile

string

Obrigatório. O nome ou o ARN do perfil de instância do AWS IAM a atribuir a cada réplica do plano de controlo.

rootVolume

object (AwsVolumeTemplate)

Opcional. Configuração relacionada com o volume raiz aprovisionado para cada réplica do plano de controlo.

Os volumes são aprovisionados na zona de disponibilidade associada à sub-rede correspondente.

Quando não é especificado, o valor predefinido é 32 GiB com o tipo de volume GP2.

mainVolume

object (AwsVolumeTemplate)

Opcional. Configuração relacionada com o volume principal aprovisionado para cada réplica do plano de controlo. O volume principal é responsável por armazenar todo o estado do etcd do cluster.

Os volumes são aprovisionados na zona de disponibilidade associada à sub-rede correspondente.

Quando não é especificado, o valor predefinido é 8 GiB com o tipo de volume GP2.

databaseEncryption

object (AwsDatabaseEncryption)

Obrigatório. O ARN da chave do AWS KMS usada para encriptar segredos do cluster.

tags

map (key: string, value: string)

Opcional. Um conjunto de etiquetas de recursos da AWS a propagar a todos os recursos da AWS geridos subjacentes.

Especifique, no máximo, 50 pares que contenham carateres alfanuméricos, espaços e símbolos (.+-=_:@/). As chaves podem ter até 127 carateres Unicode. Os valores podem ter até 255 carateres Unicode.

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

awsServicesAuthentication

object (AwsServicesAuthentication)

Obrigatório. Configuração de autenticação para a gestão de recursos da AWS.

proxyConfig

object (AwsProxyConfig)

Opcional. Configuração do proxy para tráfego HTTP(S) de saída.

configEncryption

object (AwsConfigEncryption)

Obrigatório. Configurar a encriptação para os dados do utilizador.

instancePlacement

object (AwsInstancePlacement)

Opcional. O posicionamento a usar em instâncias do plano de controlo. Quando não é especificado, é usada a posse predefinida da VPC.

AwsDatabaseEncryption

Configuração relacionada com a encriptação de segredos da camada de aplicação.

Representação JSON
{
  "kmsKeyArn": string
}
Campos
kmsKeyArn

string

Obrigatório. O ARN da chave do AWS KMS usada para encriptar segredos do cluster.

AwsServicesAuthentication

Configuração de autenticação para a gestão de recursos da AWS.

Representação JSON
{
  "roleArn": string,
  "roleSessionName": string
}
Campos
roleArn

string

Obrigatório. O nome do recurso da Amazon (ARN) da função que a API Anthos Multi-Cloud vai assumir ao gerir recursos da AWS na sua conta.

roleSessionName

string

Opcional. Um identificador para a sessão de função assumida.

Quando não é especificado, o valor predefinido é multicloud-service-agent.

AwsAuthorization

Configuração relacionada com as definições de RBAC do cluster.

Representação JSON
{
  "adminUsers": [
    {
      object (AwsClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AwsClusterGroup)
    }
  ]
}
Campos
adminUsers[]

object (AwsClusterUser)

Opcional. Utilizadores que podem realizar operações como administrador do cluster. É criada uma ClusterRoleBinding gerida para conceder a cluster-admin ClusterRole aos utilizadores. Podem ser indicados até dez utilizadores administradores.

Para mais informações sobre o RBAC, consulte https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

adminGroups[]

object (AwsClusterGroup)

Opcional. Grupos de utilizadores que podem realizar operações como administrador do cluster. É criada uma ClusterRoleBinding gerida para conceder a ClusterRole cluster-admin aos grupos. Podem ser fornecidos até dez grupos de administradores.

Para mais informações sobre o RBAC, consulte https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

AwsClusterUser

Identidades de um assunto do tipo de utilizador para clusters da AWS.

Representação JSON
{
  "username": string
}
Campos
username

string

Obrigatório. O nome do utilizador, por exemplo, my-gcp-id@gmail.com.

AwsClusterGroup

Identidades de um assunto do tipo grupo para clusters da AWS.

Representação JSON
{
  "group": string
}
Campos
group

string

Obrigatório. O nome do grupo, por exemplo, my-group@domain.com.

Estado

O estado do ciclo de vida do cluster.

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 está a ser feito algum trabalho ativamente no cluster, como a atualização das réplicas do plano de controlo.
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.

AwsClusterError

AwsClusterError descreve os erros encontrados em clusters da AWS.

Representação JSON
{
  "message": string
}
Campos
message

string

Descrição do erro de fácil compreensão.

Métodos

create
(deprecated)

Cria um novo recurso AwsCluster num determinado projeto e região da Google Cloud Platform.

delete
(deprecated)

Elimina um recurso AwsCluster específico.

generateAwsAccessToken
(deprecated)

Gera um token de acesso de curta duração para autenticar um determinado recurso AwsCluster.

generateAwsClusterAgentToken
(deprecated)

Gera um token de acesso para um agente de cluster.

get
(deprecated)

Descreve um recurso AwsCluster específico.

getJwks
(deprecated)

Obtém o componente público das chaves de assinatura do cluster no formato de chave Web JSON.

list
(deprecated)

Lista todos os recursos do AwsCluster num determinado projeto e região do Google Cloud.

patch
(deprecated)

Atualiza um AwsCluster.