REST Resource: projects.locations.azureClusters

Ressource : AzureCluster

Un cluster Anthos exécuté sur Azure.

Représentation 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)
  }
}
Champs
name

string

Nom de cette ressource.

Les noms de cluster sont au format projects/<project-number>/locations/<region>/azureClusters/<cluster-id>.

Pour en savoir plus sur les noms de ressources Google Cloud Platform, consultez Noms de ressources.

description

string

Facultatif. Description lisible de ce cluster. Ne doit pas comporter plus de 255 octets encodés au format UTF-8.

azureRegion

string

Obligatoire. Région Azure dans laquelle le cluster est exécuté.

Chaque région Google Cloud accepte un sous-ensemble de régions Azure à proximité. Vous pouvez appeler locations.getAzureServerConfig pour lister toutes les régions Azure prises en charge dans une région Google Cloud donnée.

resourceGroupId

string

Obligatoire. ID ARM du groupe de ressources dans lequel les ressources du cluster sont déployées. Par exemple : /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

Facultatif. Nom de AzureClient contenant la configuration d'authentification pour la connexion de l'API Anthos Multi-Cloud aux API Azure.

Vous devez fournir azureClient ou azureServicesAuthentication.

La ressource AzureClient doit se trouver dans le même projet et la même région Google Cloud Platform que AzureCluster.

Les noms AzureClient sont au format projects/<project-number>/locations/<region>/azureClients/<client-id>.

Consultez la page Noms des ressources pour en savoir plus sur les noms des ressources Google Cloud.

networking

object (AzureClusterNetworking)

Obligatoire. Configuration réseau à l'échelle du cluster.

controlPlane

object (AzureControlPlane)

Obligatoire. Configuration liée au plan de contrôle du cluster.

authorization

object (AzureAuthorization)

Obligatoire. Configuration liée aux paramètres RBAC du cluster.

azureServicesAuthentication

object (AzureServicesAuthentication)

Facultatif. Configuration de l'authentification pour la gestion des ressources Azure.

Vous devez fournir azureClient ou azureServicesAuthentication.

state

enum (State)

Uniquement en sortie. État actuel du cluster.

endpoint

string

Uniquement en sortie. Point de terminaison du serveur d'API du cluster.

uid

string

Uniquement en sortie. Identifiant global unique du cluster.

reconciling

boolean

Uniquement en sortie. Si cette option est définie, des modifications sont en cours de diffusion dans le cluster.

createTime

string (Timestamp format)

Uniquement en sortie. Date et heure auxquelles ce cluster a été créé.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Date et heure de la dernière mise à jour de ce cluster.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Permet aux clients d'effectuer des opérations de lecture-modification-écriture cohérentes via un contrôle de simultanéité optimiste.

Peut être envoyé lors des requêtes de mise à jour et de suppression pour s'assurer que le client dispose d'une valeur à jour avant de continuer.

annotations

map (key: string, value: string)

Facultatif. Annotations sur le cluster.

Ce champ est soumis aux mêmes restrictions que les annotations Kubernetes. La taille totale de toutes les clés et valeurs combinées est limitée à 256 000. Les clés peuvent avoir deux segments : un préfixe (facultatif) et un nom (obligatoire), séparés par une barre oblique (/). Le préfixe doit être un sous-domaine DNS. Le nom ne doit pas dépasser 63 caractères. Il doit commencer et se terminer par un caractère alphanumérique, et contenir des tirets (-), des traits de soulignement (_), des points (.), avec des caractères alphanumériques entre les caractères spéciaux.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Uniquement en sortie. Paramètres Workload Identity

clusterCaCertificate

string

Uniquement en sortie. Certificat x509 encodé au format PEM de la racine de confiance du cluster.

fleet

object (Fleet)

Obligatoire. Configuration du parc.

managedResources

object (AzureClusterResources)

Uniquement en sortie. Ressources Azure gérées pour ce cluster.

loggingConfig

object (LoggingConfig)

Facultatif. Configuration de la journalisation pour ce cluster.

errors[]

object (AzureClusterError)

Uniquement en sortie. Ensemble d'erreurs détectées dans le cluster.

monitoringConfig

object (MonitoringConfig)

Facultatif. Configuration de la surveillance pour ce cluster.

AzureClusterNetworking

ClusterNetworking contient la configuration réseau à l'échelle du cluster.

Représentation JSON
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
Champs
virtualNetworkId

string

Obligatoire. ID Azure Resource Manager (ARM) du réseau VNet associé à votre cluster.

Tous les composants du cluster (c'est-à-dire le plan de contrôle et les pools de nœuds) s'exécutent sur un seul réseau virtuel.

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

Une fois le compte créé, ce champ ne peut plus être modifié.

podAddressCidrBlocks[]

string

Obligatoire. Plage d'adresses IP des pods de ce cluster, au format CIDR (par exemple, 10.96.0.0/14).

Une adresse IPv4 unique de ces plages est attribuée à tous les pods du cluster. Une seule plage est acceptée.

Une fois le compte créé, ce champ ne peut plus être modifié.

serviceAddressCidrBlocks[]

string

Obligatoire. Plage d'adresses IP pour les services de ce cluster, au format CIDR (par exemple, 10.96.0.0/14).

Une adresse IPv4 unique de ces plages est attribuée à chaque service du cluster. Une seule plage est acceptée.

Une fois le cluster créé, ce champ ne peut plus être modifié.

serviceLoadBalancerSubnetId

string

Facultatif. ID ARM du sous-réseau dans lequel les équilibreurs de charge Kubernetes de type service privé sont déployés. Si cette valeur n'est pas spécifiée, elle est définie par défaut sur AzureControlPlane.subnet_id.

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

AzureControlPlane

AzureControlPlane représente les configurations du plan de contrôle.

Représentation 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
}
Champs
version

string

Obligatoire. Version de Kubernetes à exécuter sur les répliques du plan de contrôle (par exemple, 1.19.10-gke.1000).

Vous pouvez lister toutes les versions prises en charge dans une région Google Cloud donnée en appelant locations.getAzureServerConfig.

subnetId

string

Facultatif. ID ARM du sous-réseau par défaut pour le plan de contrôle. Les VM du plan de contrôle sont déployées dans ce sous-réseau, sauf si AzureControlPlane.replica_placements est spécifié. Ce sous-réseau sera également utilisé par défaut pour AzureControlPlane.endpoint_subnet_id si AzureControlPlane.endpoint_subnet_id n'est pas spécifié. De même, il sera utilisé par défaut pour AzureClusterNetworking.service_load_balancer_subnet_id.

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

vmSize

string

Facultatif. Nom de la taille de machine virtuelle Azure. Exemple : Standard_DS2_v2

Pour connaître les tailles de VM disponibles, consultez https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.

Si cette valeur n'est pas spécifiée, elle est définie par défaut sur Standard_DS2_v2.

sshConfig

object (AzureSshConfig)

Obligatoire. Configuration SSH pour l'accès aux machines du plan de contrôle sous-jacentes.

rootVolume

object (AzureDiskTemplate)

Facultatif. Configuration liée au volume racine provisionné pour chaque réplica du plan de contrôle.

Lorsqu'il n'est pas spécifié, il est défini par défaut sur un disque Azure de 32 Gio.

mainVolume

object (AzureDiskTemplate)

Facultatif. Configuration liée au volume principal provisionné pour chaque instance dupliquée du plan de contrôle. Le volume principal est chargé de stocker l'état etcd du cluster.

Lorsqu'il n'est pas spécifié, il est défini par défaut sur un disque Azure de 8 Gio.

databaseEncryption

object (AzureDatabaseEncryption)

Facultatif. Configuration liée au chiffrement des secrets au niveau de la couche d'application.

proxyConfig

object (AzureProxyConfig)

Facultatif. Configuration du proxy pour le trafic HTTP(S) sortant.

configEncryption

object (AzureConfigEncryption)

Facultatif. Configuration liée au chiffrement de la configuration des VM.

tags

map (key: string, value: string)

Facultatif. Ensemble de tags à appliquer à toutes les ressources Azure du plan de contrôle sous-jacentes.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

replicaPlacements[]

object (ReplicaPlacement)

Facultatif. Configuration de l'emplacement des instances répliquées du plan de contrôle.

Vous pouvez spécifier jusqu'à trois instances de placement de répliques. Si replicaPlacements est défini, les instances de placement des instances dupliquées seront appliquées aux trois instances dupliquées du plan de contrôle de la manière la plus équitable possible.

endpointSubnetId

string

Facultatif. ID ARM du sous-réseau dans lequel l'équilibreur de charge du plan de contrôle est déployé. Si cette valeur n'est pas spécifiée, elle est définie par défaut sur AzureControlPlane.subnet_id.

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

AzureDatabaseEncryption

Configuration liée au chiffrement des secrets au niveau de la couche d'application.

Clusters Anthos on Azure chiffre vos données Kubernetes au repos dans etcd à l'aide d'Azure Key Vault.

Représentation JSON
{
  "keyId": string
}
Champs
keyId

string

Obligatoire. ID ARM de la clé Azure Key Vault pour chiffrer / déchiffrer les données.

Par exemple, le chiffrement /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name> utilisera toujours la dernière version de la clé. Par conséquent, une version spécifique n'est pas acceptée.

ReplicaPlacement

Configuration pour le placement d'une instance répliquée du plan de contrôle.

Représentation JSON
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
Champs
subnetId

string

Obligatoire. Pour une instance dupliquée donnée, ID ARM du sous-réseau dans lequel la VM du plan de contrôle est déployée. Assurez-vous qu'il s'agit d'un sous-réseau du réseau virtuel dans la configuration du cluster.

azureAvailabilityZone

string

Obligatoire. Pour une réplique donnée, zone de disponibilité Azure dans laquelle provisionner la VM de plan de contrôle et le disque ETCD.

AzureAuthorization

Configuration liée aux paramètres RBAC du cluster.

Représentation JSON
{
  "adminUsers": [
    {
      object (AzureClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AzureClusterGroup)
    }
  ]
}
Champs
adminUsers[]

object (AzureClusterUser)

Facultatif. Utilisateurs pouvant effectuer des opérations en tant qu'administrateurs de cluster. Un objet ClusterRoleBinding géré sera créé pour accorder le ClusterRole cluster-admin aux utilisateurs. Vous pouvez fournir jusqu'à dix utilisateurs administrateurs.

Pour en savoir plus sur le contrôle des accès basé sur les rôles, consultez la page https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

adminGroups[]

object (AzureClusterGroup)

Facultatif. Groupes d'utilisateurs pouvant effectuer des opérations en tant qu'administrateurs de cluster. Un ClusterRoleBinding géré sera créé pour accorder le ClusterRole cluster-admin aux groupes. Vous pouvez fournir jusqu'à dix groupes d'administrateurs.

Pour en savoir plus sur le contrôle des accès basé sur les rôles, consultez la page https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

AzureClusterUser

Identités d'un sujet de type utilisateur pour les clusters Azure.

Représentation JSON
{
  "username": string
}
Champs
username

string

Obligatoire. Nom de l'utilisateur, par exemple my-gcp-id@gmail.com.

AzureClusterGroup

Identités d'un sujet de type groupe pour les clusters Azure.

Représentation JSON
{
  "group": string
}
Champs
group

string

Obligatoire. Nom du groupe, par exemple my-group@domain.com.

AzureServicesAuthentication

Configuration de l'authentification pour la gestion des ressources Azure.

Représentation JSON
{
  "tenantId": string,
  "applicationId": string
}
Champs
tenantId

string

Obligatoire. ID du locataire Azure Active Directory.

applicationId

string

Obligatoire. ID d'application Azure Active Directory.

État

État du cycle de vie du cluster.

Énumérations
STATE_UNSPECIFIED Non défini.
PROVISIONING L'état "PROVISIONING" (En cours de provisionnement) indique que le cluster est en cours de création.
RUNNING L'état "RUNNING" (En cours d'exécution) indique que le cluster a été créé et qu'il est entièrement utilisable.
RECONCILING L'état "RECONCILING" (Rapprochement) indique que des opérations sont en cours sur le cluster, comme la mise à niveau des répliques du plan de contrôle.
STOPPING L'état "STOPPING" (Arrêt) indique que le cluster est en cours de suppression.
ERROR L'état "ERROR" (Erreur) indique que le cluster est dans un état défaillant irrécupérable.
DEGRADED L'état "DEGRADED" (Dégradé) indique que le cluster nécessite une action de l'utilisateur pour restaurer toutes les fonctionnalités.

AzureClusterResources

Ressources Azure gérées pour le cluster.

Les valeurs peuvent changer et être vides, selon l'état du cluster.

Représentation JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Champs
networkSecurityGroupId

string

Uniquement en sortie. ID ARM du groupe de sécurité du réseau du cluster.

controlPlaneApplicationSecurityGroupId

string

Uniquement en sortie. ID ARM du groupe de sécurité de l'application du plan de contrôle.

AzureClusterError

AzureClusterError décrit les erreurs détectées dans les clusters Azure.

Représentation JSON
{
  "message": string
}
Champs
message

string

Description de l'erreur compréhensible par l'utilisateur.

Méthodes

create
(deprecated)

Crée une ressource AzureCluster dans un projet et une région Google Cloud Platform donnés.

delete
(deprecated)

Supprime une ressource AzureCluster spécifique.

generateAzureAccessToken
(deprecated)

Génère un jeton d'accès de courte durée pour s'authentifier auprès d'une ressource AzureCluster donnée.

generateAzureClusterAgentToken
(deprecated)

Génère un jeton d'accès pour un agent de cluster.

get
(deprecated)

Décrit une ressource AzureCluster spécifique.

getJwks
(deprecated)

Récupère le composant public des clés de signature du cluster au format de clé Web JSON.

list
(deprecated)

Répertorie toutes les ressources AzureCluster d'un projet et d'une région Google Cloud donnés.

patch
(deprecated)

Met à jour un AzureCluster.