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

Os nomes de clusters são formatados como projects/<project-number>/locations/<region>/azureClusters/<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 por humanos deste cluster. Não pode ter mais de 255 bytes codificados em UTF-8.

azureRegion

string

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

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

resourceGroupId

string

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

azureClient

string

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

É preciso fornecer azureClient ou azureServicesAuthentication.

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

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

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

networking

object (AzureClusterNetworking)

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

controlPlane

object (AzureControlPlane)

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

authorization

object (AzureAuthorization)

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

azureServicesAuthentication

object (AzureServicesAuthentication)

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

É preciso fornecer azureClient ou azureServicesAuthentication.

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. As chaves podem ter dois segmentos: prefixo (opcional) e nome (obrigatório), 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.

managedResources

object (AzureClusterResources)

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

loggingConfig

object (LoggingConfig)

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

errors[]

object (AzureClusterError)

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

monitoringConfig

object (MonitoringConfig)

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

AzureClusterNetworking

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

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

string

Obrigatório. O código do Azure Resource Manager (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.

podAddressCidrBlocks[]

string

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

Todos os pods no cluster recebem um endereço IPv4 exclusivo desses intervalos. Só é possível usar um intervalo.

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

serviceAddressCidrBlocks[]

string

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

Todos os serviços do cluster recebem endereços IPv4 exclusivos desses intervalos. Só é possível usar um intervalo.

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

serviceLoadBalancerSubnetId

string

Opcional. O ID do ARM da sub-rede em que os balanceadores de carga do tipo de serviço particular 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"

AzureControlPlane

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

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

subnetId

string

Opcional. O ID do ARM da sub-rede padrão do plano de controle. As VMs do plano de controle são implantadas nessa sub-rede, a menos que AzureControlPlane.replica_placements seja especificado. Essa 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.

vmSize

string

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

Para conferir os 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.

sshConfig

object (AzureSshConfig)

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

rootVolume

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.

mainVolume

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

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

databaseEncryption

object (AzureDatabaseEncryption)

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

proxyConfig

object (AzureProxyConfig)

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

configEncryption

object (AzureConfigEncryption)

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

tags

map (key: string, value: string)

Opcional. Um conjunto de tags para aplicar a todos os recursos subjacentes do Azure no plano de controle.

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

replicaPlacements[]

object (ReplicaPlacement)

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

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

endpointSubnetId

string

Opcional. O ID do ARM da sub-rede em que 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"

AzureDatabaseEncryption

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

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

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

string

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

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

ReplicaPlacement

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

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

string

Obrigatório. Para uma determinada réplica, o ID do ARM da sub-rede em que a VM do plano de controle está implantada. Verifique se é uma sub-rede na rede virtual na configuração do cluster.

azureAvailabilityZone

string

Obrigatório. Para uma determinada réplica, a zona de disponibilidade do Azure em que a VM do plano de controle e o disco ETCD são provisionados.

AzureAuthorization

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

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

object (AzureClusterUser)

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

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

AzureClusterUser

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.

AzureClusterGroup

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

AzureServicesAuthentication

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

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

string

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

applicationId

string

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

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.

AzureClusterResources

Recursos gerenciados do Azure para o cluster.

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

Representação JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Campos
networkSecurityGroupId

string

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

controlPlaneApplicationSecurityGroupId

string

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

AzureClusterError

AzureClusterError descreve os erros encontrados nos clusters do Azure.

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

string

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

Métodos

create

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

delete

Exclui um recurso AzureCluster específico.

generateAzureAccessToken

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

generateAzureClusterAgentToken

Gera um token de acesso para um agente de cluster.

get

Descreve um recurso AzureCluster específico.

getJwks

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