REST Resource: projects.locations.azureClusters

Ressource: AzureCluster

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 dépasser 255 octets encodés en UTF-8.

azureRegion

string

Obligatoire. Région Azure dans laquelle le cluster s'exécute.

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 compatibles 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 l'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 le 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ù la sortie générée est toujours normalisée 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. Heure de la dernière mise à jour de ce cluster.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée 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 X.509 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 VNet associé à votre cluster.

Tous les composants du cluster (plan de contrôle et pools de nœuds, par exemple) s'exécutent sur un seul VNet.

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

Ce champ ne peut plus être modifié une fois l'espace créé.

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 à chaque pod du cluster. Une seule plage est acceptée.

Ce champ ne peut plus être modifié une fois l'espace créé.

serviceAddressCidrBlocks[]

string

Obligatoire. Plage d'adresses IP des 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.

Ce champ ne peut plus être modifié une fois le cluster créé.

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 instances dupliquées 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 du 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 la page 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-jacent.

rootVolume

object (AzureDiskTemplate)

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

Si aucune valeur n'est spécifiée, 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'ensemble de 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 dupliquées du plan de contrôle.

Vous pouvez spécifier jusqu'à trois instances d'emplacement de réplication. Si replicaPlacements est défini, les instances d'emplacement des réplicas seront appliquées aux trois réplicas du plan de contrôle aussi équitablement que 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> utilise toujours la dernière version de la clé. Par conséquent, aucune version spécifique n'est prise en charge.

ReplicaPlacement

Configuration pour l'emplacement d'une instance dupliquée du plan de contrôle.

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

string

Obligatoire. Pour un réplica donné, ID ARM du sous-réseau dans lequel la VM de 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 un réplica donné, la 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 l'objet 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'administrateur 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

Identities of a group-type subject for Azure clusters (Identité 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 qu'une tâche est en cours d'exécution sur le cluster, par exemple la mise à niveau des réplicas 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 ses fonctionnalités.

AzureClusterResources

Ressources Azure gérées pour le cluster.

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

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

string

Uniquement en sortie. ID ARM du groupe de sécurité 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

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

delete

Supprime une ressource AzureCluster spécifique.

generateAzureAccessToken

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

generateAzureClusterAgentToken

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

get

Décrit une ressource AzureCluster spécifique.

getJwks

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

list

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

patch

Met à jour un AzureCluster.