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 deste recurso.

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

Consulte Nomes de recursos para obter mais detalhes sobre 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.

aws Region

string

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

Cada região do Google Cloud oferece suporte a um subconjunto de regiões da AWS próximas. Você pode chamar locations.getAwsServerConfig para listar todas as regiões da AWS compatíveis em uma determinada região do Google Cloud.

control Plane

object ( AwsControlPlane )

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

authorization

object ( AwsAuthorization )

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

state

enum ( State )

Somente saída. O estado atual do cluster.

endpoint

string

Somente saída. O ponto final do servidor de API do cluster.

uid

string

Somente saída. Um identificador global exclusivo para o cluster.

reconciling

boolean

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

create Time

string ( Timestamp format)

Somente saída. Horário em que este cluster foi criado.

Utiliza RFC 3339, onde a saída gerada será sempre normalizada em Z e usará 0, 3, 6 ou 9 dígitos fracionários. 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" .

update Time

string ( Timestamp format)

Somente saída. Horário da última atualização deste cluster.

Utiliza RFC 3339, onde a saída gerada será sempre normalizada em Z e usará 0, 3, 6 ou 9 dígitos fracionários. 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" .

etag

string

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

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 das anotações do Kubernetes. O tamanho total de todas as chaves e valores combinados é limitado a 256k. A chave pode ter 2 segmentos: prefixo (opcional) e nome (obrigatório), separados por uma barra (/). O prefixo deve 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 contendo uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

workload Identity Config

object ( WorkloadIdentityConfig )

Somente saída. Configurações de identidade da carga de trabalho.

cluster Ca Certificate

string

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

fleet

object ( Fleet )

Obrigatório. Configuração de frota.

logging Config

object ( LoggingConfig )

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

errors[]

object ( AwsClusterError )

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

monitoring Config

object ( MonitoringConfig )

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

binary Authorization

object ( BinaryAuthorization )

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

Rede do AWSCluster

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
vpc Id

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.

pod Address Cidr Blocks[]

string

Obrigatório. Todos os pods do cluster recebem um endereço IPv4 desses intervalos. Apenas um único intervalo é suportado. Este campo não pode ser alterado após a criação.

service Address Cidr Blocks[]

string

Obrigatório. Todos os serviços no cluster recebem um endereço IPv4 desses intervalos. Apenas um único intervalo é suportado. Este campo não pode ser alterado após a criação.

per Node Pool Sg Rules Disabled

boolean

Opcional. Desabilite as regras de 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, você também deve fornecer um ou mais grupos de segurança que garantam que os pools de nós possam enviar solicitações ao plano de controle via TCP/443 e TCP/8132. A não observância dessa regra pode resultar em pools de nós indisponíveis.

Plano de controle da AWS

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 ).

Você pode listar todas as versões suportadas em uma determinada região do Google Cloud chamando locations.getAwsServerConfig .

instance Type

string

Opcional. O tipo de instância da AWS.

Quando não especificado, ele usa um padrão baseado na versão do cluster.

ssh Config

object ( AwsSshConfig )

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

subnet Ids[]

string

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

security Group Ids[]

string

Opcional. Os IDs de grupos de segurança adicionais a serem adicionados às réplicas do plano de controle. A API Anthos Multi-Cloud criará e gerenciará automaticamente grupos de segurança com as regras mínimas necessárias para um cluster funcional.

iam Instance Profile

string

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

root Volume

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.

main Volume

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

database Encryption

object ( AwsDatabaseEncryption )

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

tags

map (key: string, value: string)

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

Especifique no máximo 50 pares contendo 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 contendo uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

aws Services Authentication

object ( AwsServicesAuthentication )

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

proxy Config

object ( AwsProxyConfig )

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

config Encryption

object ( AwsConfigEncryption )

Obrigatório. Configure a criptografia para dados do usuário.

instance Placement

object ( AwsInstancePlacement )

Opcional. O posicionamento a ser usado em instâncias do plano de controle. Quando não especificado, a locação padrão da VPC será usada.

Criptografia de banco de dados da AWS

Configuração relacionada à criptografia de segredos da camada de aplicação.

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

string

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

Autenticação de serviços da AWS

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

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

string

Obrigatório. O Nome de Recurso da Amazon (ARN) da função que a API Anthos Multi-Cloud assumirá ao gerenciar recursos da AWS na sua conta.

role Session Name

string

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

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

Autorização AWS

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

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

object ( AwsClusterUser )

Opcional. Usuários que podem executar operações como administradores de cluster. Um ClusterRoleBinding gerenciado será criado para conceder a função ClusterRole cluster-admin aos usuários. Até dez usuários administradores podem ser fornecidos.

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

admin Groups[]

object ( AwsClusterGroup )

Opcional. Grupos de usuários que podem executar operações como administradores de cluster. Um ClusterRoleBinding gerenciado será criado para conceder a função ClusterRole cluster-admin aos grupos. Até dez grupos de administradores podem ser fornecidos.

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

Usuário do AWSCluster

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 .

Grupo AwsCluster

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á sendo criado.
RUNNING O estado RUNNING indica que o cluster foi criado e está totalmente utilizável.
RECONCILING O estado RECONCILING indica que algum trabalho está sendo feito ativamente no cluster, como a atualização 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 quebrado e irrecuperável.
DEGRADED O estado DEGRADADO indica que o cluster requer ação do usuário para restaurar a funcionalidade completa.

Erro do AWSCluster

AwsClusterError descreve erros encontrados em clusters da AWS.

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

string

Descrição do erro de forma amigável.

Métodos

create

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

delete

Exclui um recurso específico AwsCluster .

generate Aws Access Token

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

generate Aws Cluster Agent Token

Gera um token de acesso para um agente de cluster.

get

Descreve um recurso específico AwsCluster .

get Jwks

Obtém 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 .