REST Resource: projects.locations.awsClusters.awsNodePools

Ressource : AwsNodePool

Pool de nœuds Anthos s'exécutant sur AWS.

Représentation JSON
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
Champs
name

string

Nom de cette ressource.

Les noms des pools de nœuds sont au format projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>.

Pour en savoir plus sur les noms de ressources Google Cloud, consultez la page Noms des ressources.

version

string

Obligatoire. Version de Kubernetes à exécuter sur ce pool de nœuds (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.

config

object (AwsNodeConfig)

Obligatoire. Configuration du pool de nœuds.

autoscaling

object (AwsNodePoolAutoscaling)

Obligatoire. Configuration de l'autoscaler pour ce pool de nœuds.

subnetId

string

Obligatoire. Sous-réseau dans lequel le nœud du pool de nœuds est exécuté.

state

enum (State)

Uniquement en sortie. État du cycle de vie du pool de nœuds.

uid

string

Uniquement en sortie. Identifiant global unique du pool de nœuds.

reconciling

boolean

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

createTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le pool de nœuds a été créé.

Utilise la norme RFC 3339, où le résultat généré se sert toujours du format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) 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 pool de nœuds.

Utilise la norme RFC 3339, où le résultat généré se sert toujours du format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) 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 pool de nœuds.

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" }.

maxPodsConstraint

object (MaxPodsConstraint)

Obligatoire. Contrainte sur le nombre maximal de pods pouvant être exécutés simultanément sur un nœud du pool de nœuds.

errors[]

object (AwsNodePoolError)

Uniquement en sortie. Ensemble d'erreurs détectées dans le pool de nœuds.

management

object (AwsNodeManagement)

Facultatif. Configuration de la gestion pour ce pool de nœuds.

kubeletConfig

object (NodeKubeletConfig)

Facultatif. Configurations kubelet des nœuds.

updateSettings

object (UpdateSettings)

Facultatif. Les paramètres de mise à jour contrôlent la vitesse et les perturbations occasionnées par la mise à jour.

AwsNodeConfig

Paramètres décrivant les nœuds d'un cluster.

Représentation JSON
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
Champs
instanceType

string

Facultatif. Type d'instance EC2 lors de la création d'instances à la demande.

Si vous ne spécifiez pas de valeur lors de la création du pool de nœuds, une valeur par défaut est choisie en fonction de la version du pool de nœuds et est attribuée à ce champ.

rootVolume

object (AwsVolumeTemplate)

Facultatif. Modèle du volume racine provisionné pour les nœuds du pool de nœuds. Les volumes seront provisionnés dans la zone de disponibilité attribuée au sous-réseau du pool de nœuds.

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

taints[]

object (NodeTaint)

Facultatif. Rejets initiaux attribués aux nœuds de ce pool de nœuds.

labels

map (key: string, value: string)

Facultatif. Étiquettes initiales attribuées aux nœuds de ce pool de nœuds. Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

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

tags

map (key: string, value: string)

Facultatif. Métadonnées clé/valeur à attribuer à chaque ressource AWS sous-jacente. 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" }.

iamInstanceProfile

string

Obligatoire. Nom ou ARN du profil d'instance IAM AWS à attribuer aux nœuds du pool.

imageType

string

Facultatif. Type d'image d'OS à utiliser sur les instances de pool de nœuds. Peut ne pas être spécifié ou avoir la valeur ubuntu.

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

sshConfig

object (AwsSshConfig)

Facultatif. Configuration SSH.

securityGroupIds[]

string

Facultatif. ID des groupes de sécurité supplémentaires à ajouter aux nœuds de ce pool. Le gestionnaire crée automatiquement des groupes de sécurité avec les règles minimales requises pour un cluster opérationnel.

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. Informations sur l'emplacement pour ce nœud. Lorsque cette valeur n'est pas spécifiée, la location par défaut du VPC est utilisée.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Facultatif. Configuration liée à la collecte des métriques CloudWatch sur le groupe Auto Scaling du pool de nœuds.

Lorsqu'elle n'est pas spécifiée, la collecte de métriques est désactivée.

spotConfig

object (SpotConfig)

Facultatif. Configuration pour le provisionnement d'instances Spot EC2

Si cette valeur est spécifiée, le pool de nœuds provisionne des instances Spot à partir de l'ensemble spotConfig.instance_types. Ce champ s'exclut mutuellement avec instanceType.

AwsAutoscalingGroupMetricsCollection

Configuration liée à la collecte des métriques CloudWatch dans un groupe AWS Auto Scaling.

Représentation JSON
{
  "granularity": string,
  "metrics": [
    string
  ]
}
Champs
granularity

string

Obligatoire. Fréquence à laquelle EC2 Auto Scaling envoie des données agrégées à AWS CloudWatch. La seule valeur valide est "1Minute".

metrics[]

string

Facultatif. Métriques à activer. Pour obtenir la liste des métriques valides, consultez https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. Si vous spécifiez "Granularité" et que vous ne spécifiez aucune métrique, toutes les métriques sont activées.

SpotConfig

SpotConfig dispose d'informations de configuration pour le nœud Spot.

Représentation JSON
{
  "instanceTypes": [
    string
  ]
}
Champs
instanceTypes[]

string

Obligatoire. Liste des types d'instances permettant de créer un pool de nœuds spot.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling contient les informations requises par l'autoscaler de cluster pour ajuster la taille du pool de nœuds en fonction de l'utilisation actuelle du cluster.

Représentation JSON
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
Champs
minNodeCount

integer

Obligatoire. Nombre minimal de nœuds dans le pool de nœuds. Doit être supérieur ou égal à 1 et inférieur ou égal à maxNodeCount.

maxNodeCount

integer

Obligatoire. Nombre maximal de nœuds dans le pool de nœuds. Doit être supérieur ou égal à minNodeCount et inférieur ou égal à 50.

État

État du cycle de vie du pool de nœuds.

Enums
STATE_UNSPECIFIED Non défini.
PROVISIONING L'état "PROVISIONING" (En cours de provisionnement) indique que le pool de nœuds est en cours de création.
RUNNING L'état "RUNNING" (En cours d'exécution) indique que le pool de nœuds a été créé et qu'il est entièrement utilisable.
RECONCILING L'état "RECONCILING" (Rapprochement) indique que le pool de nœuds est en cours de rapprochement.
STOPPING L'état "STOPPING" (Arrêt) indique que le pool de nœuds est en cours de suppression.
ERROR L'état "ERROR" (Erreur) indique que le pool de nœuds est dans un état défaillant irrécupérable.
DEGRADED L'état "DEGRADED" (Dégradé) indique que le pool de nœuds nécessite une action de l'utilisateur pour restaurer toutes les fonctionnalités.

AwsNodePoolError

AwsNodePoolError décrit les erreurs détectées dans les pools de nœuds AWS.

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

string

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

AwsNodeManagement

AwsNodeManagement définit l'ensemble des fonctionnalités de gestion des nœuds activées pour un pool de nœuds AWS.

Représentation JSON
{
  "autoRepair": boolean
}
Champs
autoRepair

boolean

Facultatif. Indique si les nœuds sont réparés automatiquement ou non. Si cette valeur est définie sur "true", les nœuds de ce pool de nœuds sont surveillés. Si les vérifications d'état échouent de manière cohérente sur une période donnée, une action de réparation automatique est déclenchée pour les remplacer par de nouveaux nœuds.

NodeKubeletConfig

Configuration des options kubelet du pool de nœuds.

Représentation JSON
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
Champs
insecureKubeletReadonlyPortEnabled

boolean

Facultatif. Activez le port accessible en lecture seule et non sécurisé du kubelet.

cpuManagerPolicy

string

Facultatif. Contrôlez la règle de gestion du processeur sur le nœud. Consultez https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/.

Les valeurs suivantes sont autorisées. * "none" : valeur par défaut qui représente le comportement de planification existant. * "static" : permet aux pods présentant certaines caractéristiques de ressources de bénéficier d'une affinité et d'une exclusivité accrues du processeur sur le nœud. Si aucune valeur n'est spécifiée, la valeur par défaut est "none".

cpuCfsQuota

boolean

Facultatif. Activez l'application du quota CFS du processeur pour les conteneurs qui spécifient des limites de processeur.

Cette option est activée par défaut, ce qui permet à kubelet d'utiliser le quota CFS (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) pour appliquer les limites de processeur des conteneurs. Sinon, les limites de processeur ne seront pas appliquées.

Désactivez cette option pour atténuer les problèmes de limitation du processeur tout en conservant la classe de qualité de service "Garantie" pour vos pods en spécifiant les limites du processeur.

Si aucune valeur n'est spécifiée, la valeur par défaut est "true".

cpuCfsQuotaPeriod

string

Facultatif. Définissez la valeur de période de quota du CFS du processeur "cpu.cfs_period_us".

La chaîne doit être une séquence de nombres décimaux, chacun pouvant comprendre une fraction facultative et un suffixe d'unité, tel que "300ms". Les unités de temps valides sont "ns", "us" (ou "µs"), "ms", "s", "m", "h". La valeur doit être une durée positive.

Si aucune valeur n'est spécifiée, la valeur par défaut est "100 ms".

podPidsLimit

string (int64 format)

Facultatif. Définissez les limites de PID des pods. Consultez https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits.

Contrôle le nombre maximal de processus pouvant s'exécuter dans un pod. La valeur doit être supérieure ou égale à 1 024 et inférieure à 4 194 304.

UpdateSettings

UpdateSettings contrôle le niveau de parallélisme et le niveau de perturbation causé par la mise à jour d'un pool de nœuds.

Ces paramètres s'appliquent lorsque la mise à jour du pool de nœuds nécessite de remplacer les nœuds existants du pool par des nœuds mis à jour.

UpdateSettings est facultatif. Lorsque UpdateSettings n'est pas spécifié lors de la création du pool de nœuds, une valeur par défaut est choisie en fonction de la version du cluster parent. Pour les clusters exécutant la version mineure 1.27 ou ultérieure, une configuration surgeSettings par défaut avec maxSurge = 1 et maxavailable = 0 est utilisée. Pour les clusters avec des versions plus anciennes, les mises à jour de pool de nœuds utilisent le mécanisme de mise à jour progressive traditionnel, qui consiste à mettre à jour un nœud à la fois en mode "arrêter avant de créer", et updateSettings n'est pas applicable.

Définissez le paramètre surgeSettings de manière à utiliser le mécanisme de mise à jour de surutilisation pour la mise à jour progressive des nœuds du pool de nœuds. 1. maxSurge contrôle temporairement le nombre de nœuds supplémentaires pouvant être créés au-delà de la taille actuelle du pool de nœuds en attendant la mise à jour, afin d'augmenter le nombre de nœuds disponibles. 2. maxUnavailable contrôle le nombre de nœuds pouvant être simultanément indisponibles lors de la mise à jour. 3. (maxSurge + maxUnavailable) détermine le niveau de parallélisme (c'est-à-dire le nombre de nœuds mis à jour simultanément).

Représentation JSON
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
Champs
surgeSettings

object (SurgeSettings)

Facultatif. Paramètres de mise à jour de surutilisation.

SurgeSettings

SurgeSettings contient les paramètres de mise à jour de surutilisation.

Représentation JSON
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
Champs
maxSurge

integer

Facultatif. Nombre maximal de nœuds pouvant être créés au-delà de la taille actuelle du pool de nœuds lors du processus de mise à jour.

maxUnavailable

integer

Facultatif. Nombre maximal de nœuds pouvant être simultanément indisponibles lors du processus de mise à jour. Un nœud est considéré comme indisponible s'il n'est pas prêt.

Méthodes

create
(deprecated)

Crée un AwsNodePool associé à un AwsCluster donné.

delete
(deprecated)

Supprime une ressource AwsNodePool spécifique.

get
(deprecated)

Décrit une ressource AwsNodePool spécifique.

list
(deprecated)

Répertorie toutes les ressources AwsNodePool d'un AwsCluster donné.

patch
(deprecated)

Met à jour un AwsNodePool.

rollback
(deprecated)

Annule une requête de mise à jour AwsNodePool précédemment annulée ou ayant échoué.