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 estão formatados como projects/<project-number>/locations/<region>/azureClusters/<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.

azureRegion

string

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

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

resourceGroupId

string

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

azureClient

string

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

Tem de ser fornecido azureClient ou azureServicesAuthentication.

O recurso AzureClient tem de residir no mesmo projeto e região da Google Cloud Platform que o AzureCluster.

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

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

networking

object (AzureClusterNetworking)

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

controlPlane

object (AzureControlPlane)

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

authorization

object (AzureAuthorization)

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

azureServicesAuthentication

object (AzureServicesAuthentication)

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

Tem de ser fornecido azureClient ou azureServicesAuthentication.

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

managedResources

object (AzureClusterResources)

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

loggingConfig

object (LoggingConfig)

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

errors[]

object (AzureClusterError)

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

monitoringConfig

object (MonitoringConfig)

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

AzureClusterNetworking

ClusterNetworking contém a configuração de rede ao nível do cluster.

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

string

Obrigatório. O ID do Azure Resource Manager (ARM) da VNet associada ao seu cluster.

Todos os componentes no cluster (ou seja, o plano de controlo e os conjuntos de nós) são executados numa única VNet.

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

Não é possível alterar este campo 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 destes intervalos. Só é suportado um intervalo.

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

serviceAddressCidrBlocks[]

string

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

Todos os serviços no cluster recebem um endereço IPv4 exclusivo destes intervalos. Só é suportado um intervalo.

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

serviceLoadBalancerSubnetId

string

Opcional. O ID do ARM da sub-rede onde os balanceadores de carga do tipo de serviço privado do Kubernetes estão implementados. Quando não especificado, o valor predefinido é 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 controlo.

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

subnetId

string

Opcional. O ID do ARM da sub-rede predefinida para o plano de controlo. As VMs do plano de controlo são implementadas nesta sub-rede, a menos que seja especificado AzureControlPlane.replica_placements. Esta sub-rede também é usada como predefinição para AzureControlPlane.endpoint_subnet_id se AzureControlPlane.endpoint_subnet_id não estiver especificado. Da mesma forma, é usado como predefiniçã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 ver os tamanhos de VMs disponíveis, consulte https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.

Quando não é especificado, o valor predefinido é Standard_DS2_v2.

sshConfig

object (AzureSshConfig)

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

rootVolume

object (AzureDiskTemplate)

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

Quando não é especificado, a predefinição é um disco do Azure de 32 GiB.

mainVolume

object (AzureDiskTemplate)

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.

Quando não é especificado, a predefinição é um disco do Azure de 8 GiB.

databaseEncryption

object (AzureDatabaseEncryption)

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

proxyConfig

object (AzureProxyConfig)

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

configEncryption

object (AzureConfigEncryption)

Opcional. Configuração relacionada com a encriptação da configuração de VM.

tags

map (key: string, value: string)

Opcional. Um conjunto de etiquetas a aplicar a todos os recursos do Azure do plano de controlo subjacente.

Um objeto que contém 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 controlo.

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

endpointSubnetId

string

Opcional. O ID do ARM da sub-rede onde o balanceador de carga do plano de controlo está implementado. Quando não especificado, o valor predefinido é 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 com a encriptação de segredos da camada de aplicação.

Os clusters do Anthos no Azure encriptam os seus dados do Kubernetes em repouso no etcd através do Azure Key Vault.

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

string

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

Por exemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name> a encriptação usa sempre a versão mais recente da chave e, por isso, a versão específica não é suportada.

ReplicaPlacement

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

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

string

Obrigatório. Para uma determinada réplica, o ID do ARM da sub-rede onde a VM do plano de controlo está implementada. Certifique-se de que é 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 onde aprovisionar a VM do plano de controlo e o disco ETCD.

AzureAuthorization

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

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

object (AzureClusterUser)

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

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

AzureClusterUser

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

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

string

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

AzureClusterGroup

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.

AzureServicesAuthentication

Configuração de autenticação para a gestão de recursos do Azure.

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

string

Obrigatório. O ID de inquilino do Azure Active Directory.

applicationId

string

Obrigatório. O ID da aplicação 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á 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.

AzureClusterResources

Recursos do Azure geridos para o cluster.

Os valores podem mudar e estar vazios, consoante o 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 da aplicação do plano de controlo.

AzureClusterError

AzureClusterError descreve os erros encontrados em clusters do Azure.

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 AzureCluster num determinado projeto e região da Google Cloud Platform.

delete
(deprecated)

Elimina um recurso AzureCluster específico.

generateAzureAccessToken
(deprecated)

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

generateAzureClusterAgentToken
(deprecated)

Gera um token de acesso para um agente de cluster.

get
(deprecated)

Descreve um recurso AzureCluster 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 AzureCluster num determinado projeto e região do Google Cloud.

patch
(deprecated)

Atualiza um AzureCluster.