REST Resource: projects.locations.awsClusters

Ressource: AwsCluster

Cluster Anthos exécuté sur AWS.

Représentation JSON
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "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)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
Champs
name

string

Nom de cette ressource.

Les noms de cluster sont au format projects/<project-number>/locations/<region>/awsClusters/<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.

networking

object (AwsClusterNetworking)

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

awsRegion

string

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

Chaque région Google Cloud accepte un sous-ensemble de régions AWS à proximité. Vous pouvez appeler locations.getAwsServerConfig pour lister toutes les régions AWS compatibles dans une région Google Cloud donnée.

controlPlane

object (AwsControlPlane)

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

authorization

object (AwsAuthorization)

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

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. La clé peut comporter 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 (_) et des points (.), avec des caractères alphanumériques entre chaque symbole.

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.

loggingConfig

object (LoggingConfig)

Facultatif. Configuration de la journalisation pour ce cluster.

errors[]

object (AwsClusterError)

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

monitoringConfig

object (MonitoringConfig)

Facultatif. Configuration de la surveillance pour ce cluster.

binaryAuthorization

object (BinaryAuthorization)

Facultatif. Configuration de l'autorisation binaire pour ce cluster.

AwsClusterNetworking

ClusterNetworking définit la configuration de mise en réseau à l'échelle du cluster.

Les clusters Anthos sur AWS s'exécutent sur un seul VPC. Cela inclut les instances dupliquées du plan de contrôle et les nœuds du pool de nœuds.

Représentation JSON
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
Champs
vpcId

string

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

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

podAddressCidrBlocks[]

string

Obligatoire. Une adresse IPv4 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. Une adresse IPv4 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 l'espace créé.

perNodePoolSgRulesDisabled

boolean

Facultatif. Désactivez les règles de groupe de sécurité de sous-réseau par pool de nœuds sur le groupe de sécurité du plan de contrôle. Lorsque cette valeur est définie sur "True", vous devez également fournir un ou plusieurs groupes de sécurité qui garantissent que les pools de nœuds peuvent envoyer des requêtes au plan de contrôle sur les ports TCP/443 et TCP/8132. Sinon, les pools de nœuds risquent d'être indisponibles.

AwsControlPlane

ControlPlane définit des paramètres communs entre les nœuds du plan de contrôle.

Représentation JSON
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
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.getAwsServerConfig.

instanceType

string

Facultatif. Type d'instance AWS.

Si cette valeur n'est pas spécifiée, une valeur par défaut est utilisée en fonction de la version du cluster.

sshConfig

object (AwsSshConfig)

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

subnetIds[]

string

Obligatoire. Liste des sous-réseaux sur lesquels les instances dupliquées du plan de contrôle s'exécuteront. Un réplica sera provisionné sur chaque sous-réseau et vous pouvez fournir jusqu'à trois valeurs. Chaque sous-réseau doit se trouver dans une zone de disponibilité (AZ) AWS différente.

securityGroupIds[]

string

Facultatif. ID des groupes de sécurité supplémentaires à ajouter aux instances dupliquées du plan de contrôle. L'API Anthos Multi-Cloud crée et gère automatiquement des groupes de sécurité avec les règles minimales requises pour un cluster opérationnel.

iamInstanceProfile

string

Obligatoire. Nom ou ARN du profil d'instance IAM AWS à attribuer à chaque instance dupliquée du plan de contrôle.

rootVolume

object (AwsVolumeTemplate)

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

Les volumes seront provisionnés dans la zone de disponibilité associée au sous-réseau correspondant.

Si aucune valeur n'est spécifiée, la valeur par défaut est de 32 Gio avec le type de volume GP2.

mainVolume

object (AwsVolumeTemplate)

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.

Les volumes seront provisionnés dans la zone de disponibilité associée au sous-réseau correspondant.

Si aucune valeur n'est spécifiée, la valeur par défaut est de 8 Gio avec le type de volume GP2.

databaseEncryption

object (AwsDatabaseEncryption)

Obligatoire. ARN de la clé KMS AWS utilisée pour chiffrer les secrets du cluster.

tags

map (key: string, value: string)

Facultatif. Ensemble de tags de ressources AWS à propager à toutes les ressources AWS gérées sous-jacentes.

Spécifiez au maximum 50 paires contenant des caractères alphanumériques, des espaces et des symboles (.+-=_:@/). Les clés peuvent contenir jusqu'à 127 caractères Unicode. Les valeurs peuvent comporter jusqu'à 255 caractères Unicode.

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

awsServicesAuthentication

object (AwsServicesAuthentication)

Obligatoire. Configuration de l'authentification pour la gestion des ressources AWS.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

Obligatoire. Chiffrement de la configuration des données utilisateur.

instancePlacement

object (AwsInstancePlacement)

Facultatif. Emplacement à utiliser pour les instances de plan de contrôle. Lorsque cette valeur n'est pas spécifiée, la location par défaut du VPC est utilisée.

AwsDatabaseEncryption

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

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

string

Obligatoire. ARN de la clé KMS AWS utilisée pour chiffrer les secrets du cluster.

AwsServicesAuthentication

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

Représentation JSON
{
  "roleArn": string,
  "roleSessionName": string
}
Champs
roleArn

string

Obligatoire. Nom de ressource Amazon (ARN) du rôle que l'API Anthos Multi-Cloud assumera lors de la gestion des ressources AWS de votre compte.

roleSessionName

string

Facultatif. Identifiant de la session du rôle pris en compte.

Si cette valeur n'est pas spécifiée, elle est définie par défaut sur multicloud-service-agent.

AwsAuthorization

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

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

object (AwsClusterUser)

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

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.

AwsClusterUser

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

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

string

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

AwsClusterGroup

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

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

string

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

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

AwsClusterError

AwsClusterError décrit les erreurs détectées sur les clusters AWS.

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

string

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

Méthodes

create

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

delete

Supprime une ressource AwsCluster spécifique.

generateAwsAccessToken

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

generateAwsClusterAgentToken

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

get

Décrit une ressource AwsCluster 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 AwsCluster d'un projet et d'une région Google Cloud donnés.

patch

Met à jour un AwsCluster.