REST Resource: projects.locations.awsClusters

Recurso: AwsCluster

Um cluster do Anthos em execução na 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 desse recurso.

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

Consulte Nomes de recursos para mais detalhes sobre os nomes de recursos do 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 em todo o cluster.

awsRegion

string

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

Cada região do Google Cloud é compatível com um subconjunto de regiões próximas da AWS. É possível chamar locations.getAwsServerConfig para listar todas as regiões compatíveis da AWS em uma determinada região do Google Cloud.

controlPlane

object (AwsControlPlane)

Obrigatório. Configuração relacionada ao plano de controle do cluster.

authorization

object (AwsAuthorization)

Obrigatório. Configuração relacionada às configurações de RBAC do cluster.

state

enum (State)

Apenas saída. O estado atual do cluster.

endpoint

string

Apenas saída. O endpoint do servidor da API do cluster.

uid

string

Apenas saída. Um identificador globalmente exclusivo para o cluster.

reconciling

boolean

Apenas saída. Se definido, há alterações em andamento no cluster.

createTime

string (Timestamp format)

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

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Apenas saída. A hora em que o cluster foi atualizado pela última vez.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

etag

string

Permite que os clientes realizem leituras e modificações da gravação consistentes por meio do controle otimista de simultaneidade.

Pode ser enviado em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de prosseguir.

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

workloadIdentityConfig

object (WorkloadIdentityConfig)

Apenas saída. Configurações de Identidade da carga de trabalho.

clusterCaCertificate

string

Apenas saída. Certificado x509 codificado em PEM da raiz de confiança do cluster.

fleet

object (Fleet)

Obrigatório. Configuração da frota.

loggingConfig

object (LoggingConfig)

Opcional. Configuração do Logging para este cluster.

errors[]

object (AwsClusterError)

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

monitoringConfig

object (MonitoringConfig)

Opcional. Configuração de monitoramento 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 em todo o cluster.

Os clusters do Anthos na AWS são executados em uma única VPC. Isso inclui réplicas do plano de controle e nós do pool 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, plano de controle e pools de nós) são executados em uma única VPC.

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 desses intervalos. Só é possível usar um intervalo. Este campo não pode ser alterado após a criação.

serviceAddressCidrBlocks[]

string

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

perNodePoolSgRulesDisabled

boolean

Opcional. Desative as regras do grupo de segurança de sub-rede por pool de nós no grupo de segurança do plano de controle. Quando definido como verdadeiro, é preciso fornecer também um ou mais grupos de segurança que garantam que os pools de nós sejam capazes de enviar solicitações para o plano de controle em TCP/443 e TCP/8132. Se isso não for feito, os pools de nós poderão ficar indisponíveis.

AwsControlPlane

O ControlPlane define parâmetros comuns entre os nós do plano de controle.

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 ser executada em réplicas do plano de controle (por exemplo, 1.19.10-gke.1000).

É possível listar todas as versões compatíveis em uma determinada região do Google Cloud chamando locations.getAwsServerConfig.

instanceType

string

Opcional. O tipo de instância da AWS.

Quando não for especificado, ele usará um padrão com base na versão do cluster.

sshConfig

object (AwsSshConfig)

Opcional. Configuração do SSH para acessar as máquinas do plano de controle.

subnetIds[]

string

Obrigatório. A lista de sub-redes em que as réplicas do plano de controle serão executadas. Uma réplica será provisionada em cada sub-rede, e até três valores poderão ser fornecidos. Cada sub-rede precisa estar em uma zona de disponibilidade diferente da AWS (AZ).

securityGroupIds[]

string

Opcional. Os códigos dos grupos de segurança extras a serem adicionados às réplicas do plano de controle. A API Anthos Multi-Cloud cria e gerencia automaticamente grupos de segurança com as regras mínimas necessárias para um cluster funcional.

iamInstanceProfile

string

Obrigatório. O nome ou ARN do perfil da instância do IAM da AWS a ser atribuído a cada réplica do plano de controle.

rootVolume

object (AwsVolumeTemplate)

Opcional. Configuração relacionada ao volume raiz provisionado para cada réplica do plano de controle.

Os volumes serão provisionados na zona de disponibilidade associada à sub-rede correspondente.

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

mainVolume

object (AwsVolumeTemplate)

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

Os volumes serão provisionados na zona de disponibilidade associada à sub-rede correspondente.

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

databaseEncryption

object (AwsDatabaseEncryption)

Obrigatório. O ARN da chave KMS da AWS usada para criptografar secrets do cluster.

tags

map (key: string, value: string)

Opcional. Um conjunto de tags de recursos da AWS para propagar a todos os recursos subjacentes gerenciados pela AWS.

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

Um objeto com 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 gerenciamento de recursos da AWS.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

Obrigatório. Criptografia de configuração para dados do usuário.

instancePlacement

object (AwsInstancePlacement)

Opcional. A posição a ser usada nas instâncias do plano de controle. Quando não especificado, o locatário padrão da VPC será usado.

AwsDatabaseEncryption

Configuração relacionada à criptografia de secrets na camada do aplicativo.

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

string

Obrigatório. O ARN da chave KMS da AWS usada para criptografar secrets do cluster.

AwsServicesAuthentication

Configuração de autenticação para gerenciamento de recursos da AWS.

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

string

Obrigatório. O nome do recurso da Amazon (ARN) do papel que a API Anthos Multi-Cloud assumirá ao gerenciar os recursos da AWS na sua conta.

roleSessionName

string

Opcional. Identificador da sessão de papel presumido.

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

AwsAuthorization

Configuração relacionada às configurações de RBAC do cluster.

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

object (AwsClusterUser)

Opcional. Usuários que podem executar operações como administrador de cluster. Um ClusterRoleBinding gerenciado será criado para conceder o ClusterRole cluster-admin aos usuários. É possível fornecer até 10 usuários 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 usuários que podem executar operações como administrador de cluster. Um ClusterRoleBinding gerenciado será criado para conceder o ClusterRole cluster-admin aos grupos. É possível fornecer até 10 grupos 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 de tipo de usuário para clusters da AWS.

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

string

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

AwsClusterGroup

Identidades de um assunto de tipo de 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.

Tipos enumerados
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 ainda há algo sendo feito ativamente no cluster, como o upgrade das réplicas do plano de controle.
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.

AwsClusterError

O AwsClusterError descreve os erros encontrados nos clusters da AWS.

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

string

Descrição do erro legível por humanos.

Métodos

create

Cria um novo recurso AwsCluster em um determinado projeto e região do Google Cloud Platform.

delete

Exclui um recurso AwsCluster específico.

generateAwsAccessToken

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

generateAwsClusterAgentToken

Gera um token de acesso para um agente de cluster.

get

Descreve um recurso AwsCluster específico.

getJwks

Recebe o componente público das chaves de assinatura do cluster no formato JSON Web Key.

list

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

patch

Atualiza um AwsCluster.