REST Resource: projects.locations.azureClusters

Recurso: AzureCluster

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

Representação JSON
{
  "name": string,
  "description": string,
  "azureRegion": string,
  "resourceGroupId": string,
  "azureClient": string,
  "networking": {
    object (AzureClusterNetworking)
  },
  "controlPlane": {
    object (AzureControlPlane)
  },
  "authorization": {
    object (AzureAuthorization)
  },
  "azureServicesAuthentication": {
    object (AzureServicesAuthentication)
  },
  "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)
  },
  "managedResources": {
    object (AzureClusterResources)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AzureClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  }
}
Campos
name

string

O nome deste recurso.

Os nomes dos clusters são formatados como projects/<project-number>/locations/<region>/azureClusters/<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.

azure Region

string

Obrigatório. A região do Azure onde o cluster é executado.

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

resource Group Id

string

Obrigatório. O ID ARM do grupo de recursos onde os recursos do cluster são implantados. Por exemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azure Client

string

Opcional. Nome do AzureClient que contém a configuração de autenticação para a conexão da API Multi-Cloud do Anthos às APIs do Azure.

Deve ser fornecido azureClient ou azureServicesAuthentication.

O recurso AzureClient deve residir no mesmo projeto e região do Google Cloud Platform que o AzureCluster .

Os nomes AzureClient são formatados como projects/<project-number>/locations/<region>/azureClients/<client-id> .

Consulte Nomes de recursos para obter mais detalhes sobre nomes de recursos do Google Cloud.

networking

object ( AzureClusterNetworking )

Obrigatório. Configuração de rede em todo o cluster.

control Plane

object ( AzureControlPlane )

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

authorization

object ( AzureAuthorization )

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

azure Services Authentication

object ( AzureServicesAuthentication )

Opcional. Configuração de autenticação para gerenciamento de recursos do Azure.

Deve ser fornecido azureClient ou azureServicesAuthentication.

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. As chaves podem 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.

managed Resources

object ( AzureClusterResources )

Somente saída. Recursos gerenciados do Azure para este cluster.

logging Config

object ( LoggingConfig )

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

errors[]

object ( AzureClusterError )

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

monitoring Config

object ( MonitoringConfig )

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

Rede de Clusters do Azure

ClusterNetworking contém configuração de rede em todo o cluster.

Representação JSON
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
Campos
virtual Network Id

string

Obrigatório. O ID do Gerenciador de Recursos do Azure (ARM) da VNet associada ao seu cluster.

Todos os componentes no cluster (ou seja, plano de controle e pools de nós) são executados em uma única VNet.

Exemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>

Este campo não pode ser alterado após a criação.

pod Address Cidr Blocks[]

string

Obrigatório. O intervalo de endereços IP dos pods neste cluster, em notação CIDR (por exemplo, 10.96.0.0/14 ).

Todos os pods do cluster recebem um endereço IPv4 exclusivo 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. O intervalo de endereços IP para serviços neste cluster, em notação CIDR (por exemplo, 10.96.0.0/14 ).

Todos os serviços no cluster recebem um endereço IPv4 exclusivo desses intervalos. Apenas um único intervalo é suportado.

Este campo não pode ser alterado após a criação de um cluster.

service Load Balancer Subnet Id

string

Opcional. O ID ARM da sub-rede onde os balanceadores de carga do tipo serviço privado do Kubernetes são implantados. Quando não especificado, o padrão é AzureControlPlane.subnet_id.

Exemplo: "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid456"

Plano de Controle do Azure

AzureControlPlane representa as configurações do plano de controle.

Representação JSON
{
  "version": string,
  "subnetId": string,
  "vmSize": string,
  "sshConfig": {
    object (AzureSshConfig)
  },
  "rootVolume": {
    object (AzureDiskTemplate)
  },
  "mainVolume": {
    object (AzureDiskTemplate)
  },
  "databaseEncryption": {
    object (AzureDatabaseEncryption)
  },
  "proxyConfig": {
    object (AzureProxyConfig)
  },
  "configEncryption": {
    object (AzureConfigEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "replicaPlacements": [
    {
      object (ReplicaPlacement)
    }
  ],
  "endpointSubnetId": string
}
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.getAzureServerConfig .

subnet Id

string

Opcional. O ID ARM da sub-rede padrão para o plano de controle. As VMs do plano de controle são implantadas nesta sub-rede, a menos que AzureControlPlane.replica_placements seja especificado. Esta sub-rede também será usada como padrão para AzureControlPlane.endpoint_subnet_id se AzureControlPlane.endpoint_subnet_id não for especificado. Da mesma forma, ela será usada como padrão para AzureClusterNetworking.service_load_balancer_subnet_id .

Exemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>/subnets/default .

vm Size

string

Opcional. O nome do tamanho da VM do Azure. Exemplo: Standard_DS2_v2 .

Para tamanhos de VM disponíveis, consulte https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions .

Quando não especificado, o padrão é Standard_DS2_v2 .

ssh Config

object ( AzureSshConfig )

Obrigatório. Configuração SSH para acessar as máquinas do plano de controle subjacente.

root Volume

object ( AzureDiskTemplate )

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

Quando não especificado, o padrão é 32 GiB do Azure Disk.

main Volume

object ( AzureDiskTemplate )

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.

Quando não especificado, o padrão é um disco do Azure de 8 GiB.

database Encryption

object ( AzureDatabaseEncryption )

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

proxy Config

object ( AzureProxyConfig )

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

config Encryption

object ( AzureConfigEncryption )

Opcional. Configuração relacionada à criptografia da configuração da VM.

tags

map (key: string, value: string)

Opcional. Um conjunto de tags a serem aplicadas a todos os recursos subjacentes do plano de controle do Azure.

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

replica Placements[]

object ( ReplicaPlacement )

Opcional. Configuração de onde colocar as réplicas do plano de controle.

É possível especificar até três instâncias de posicionamento de réplica. Se replicaPlacements estiver definido, as instâncias de posicionamento de réplica serão aplicadas às três réplicas do plano de controle da forma mais uniforme possível.

endpoint Subnet Id

string

Opcional. O ID ARM da sub-rede onde o balanceador de carga do plano de controle está implantado. Quando não especificado, o padrão é AzureControlPlane.subnet_id.

Exemplo: "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123"

Criptografia de banco de dados do Azure

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

Os clusters do Anthos no Azure criptografam seus dados do Kubernetes em repouso no etcd usando o Azure Key Vault.

Representação JSON
{
  "keyId": string
}
Campos
key Id

string

Obrigatório. O ID ARM da chave do Azure Key Vault para criptografar/descriptografar dados.

Por exemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name> A criptografia sempre usará a versão mais recente da chave e, portanto, uma versão específica não é suportada.

ReplicaPlacement

Configuração para posicionamento de uma réplica do plano de controle.

Representação JSON
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
Campos
subnet Id

string

Obrigatório. Para uma réplica específica, o ID ARM da sub-rede onde a VM do plano de controle está implantada. Certifique-se de que seja uma sub-rede na rede virtual na configuração do cluster.

azure Availability Zone

string

Obrigatório. Para uma réplica específica, a zona de disponibilidade do Azure onde provisionar a VM do plano de controle e o disco ETCD.

Autorização do Azure

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

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

object ( AzureClusterUser )

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 ( AzureClusterGroup )

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 AzureCluster

Identidades de um assunto de tipo de usuário para clusters do Azure.

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

string

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

Grupo AzureCluster

Identidades de um assunto do tipo grupo para clusters do Azure.

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

string

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

Autenticação de Serviços do Azure

Configuração de autenticação para o gerenciamento de recursos do Azure.

Representação JSON
{
  "tenantId": string,
  "applicationId": string
}
Campos
tenant Id

string

Obrigatório. O ID do locatário do Azure Active Directory.

application Id

string

Obrigatório. O ID do Aplicativo do Azure Active Directory.

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.

Recursos do AzureCluster

Recursos do Azure gerenciados para o cluster.

Os valores podem mudar e ficar vazios, dependendo do estado do cluster.

Representação JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Campos
network Security Group Id

string

Somente saída. O ID ARM do grupo de segurança de rede do cluster.

control Plane Application Security Group Id

string

Somente saída. O ID ARM do grupo de segurança do aplicativo do plano de controle.

Erro do AzureCluster

AzureClusterError descreve erros encontrados em clusters do Azure.

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

string

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

Métodos

create

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

delete

Exclui um recurso específico AzureCluster .

generate Azure Access Token

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

generate Azure Cluster Agent Token

Gera um token de acesso para um agente de cluster.

get

Descreve um recurso específico AzureCluster .

get Jwks

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

list

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

patch

Atualiza um AzureCluster .