Note

Ce plugin fait partie de la collection google.cloud (version 1.0.2).

Pour l'installer, utilisez : ansible-galaxy collection install google.cloud.

Pour l'utiliser dans un playbook, spécifiez : google.cloud.gcp_container_node_pool.

  • Synopsis
  • Exigences
  • Paramètres
  • Exemples
  • Valeurs de retour

Synopsis

  • NodePool contient le nom et la configuration du pool de nœuds d'un cluster.
  • Les pools de nœuds sont un ensemble de nœuds (c'est-à-dire de VM), avec une configuration et des spécifications communes, sous le contrôle du maître du cluster. Ils peuvent se voir appliquer un ensemble d'étiquettes Kubernetes, qui peuvent être utilisées pour les référencer pendant la programmation des pods. Ils peuvent également être redimensionnés vers le haut ou vers le bas, pour s'adapter à la charge de travail.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Paramètres

Paramètre Choix/par défaut Commentaires
auth_kindchaîne de caractères / obligatoire
    Choix :

  • application
  • compte machine
  • serviceaccount
Le type de justificatif d'identité utilisé.
autoscalingdictionnaire Configuration de l'autoscaling pour ce NodePool. L'autoscaling est activé uniquement si une configuration valide est présente.
activébooléen
    Choix :

  • pas de
  • oui
L'autoscaling est-il activé pour ce pool de nœuds.
nombre_maximum_de_noeudsnombre entier Nombre maximum de nœuds dans le NodePool. Doit être >= minNodeCount.Il doit y avoir suffisamment de quota pour faire évoluer le cluster.
min_node_countnombre entier Nombre minimum de nœuds dans le NodePool. Doit être >= 1 et <= maxNodeCount.
clusterdictionnaire / requis Le cluster auquel appartient ce pool de nœuds.Ce champ représente un lien vers une ressource Cluster dans GCP. Il peut être spécifié de deux façons. Premièrement, vous pouvez placer un dictionnaire avec la clé "name" et la valeur du nom de votre ressource Alternativement, vous pouvez ajouter `register : name-of-resource` à une tâche gcp_container_cluster et ensuite définir ce champ cluster à "{{ name-of-resource }}".
conditionsliste / éléments=dictionnaire Quelles conditions ont causé l'état actuel du pool de nœuds.
codechaîne de caractères Représentation conviviale de la condition.Certains choix valables incluent : "INCONNU", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR".
configdictionnaire La configuration du nœud du pool.
accélérateursliste / éléments=dictionnaire Une liste d'accélérateurs matériels à attacher à chaque nœud.
accelerator_countnombre entier Le nombre de cartes accélératrices exposées à une instance.
type_accélérateurchaîne de caractères Le nom de la ressource du type d'accélérateur.
taille_disque_gbnombre entier Taille du disque attaché à chaque nœud, spécifiée en Go. La plus petite taille de disque autorisée est de 10 Go. Si elle n'est pas spécifiée, la taille du disque par défaut est de 100 Go.
type_de_disquechaîne de caractères Type du disque attaché à chaque nœud (par exemple, 'pd-standard' ou 'pd-ssd') Si non spécifié, le type de disque par défaut est 'pd-standard' .
type_imagechaîne de caractères Le type d'image à utiliser pour ce nœud. Notez que pour un type d'image donné, la dernière version de celui-ci sera utilisée.
étiquettesdictionnaire La carte des étiquettes Kubernetes (paires clé/valeur) à appliquer à chaque nœud. Celles-ci seront ajoutées en plus de toute(s) étiquette(s) par défaut que Kubernetes peut appliquer au nœud. En cas de conflit dans les clés d'étiquettes, l'ensemble appliqué peut différer selon la version de Kubernetes -- il est préférable de supposer que le comportement est indéfini et que les conflits doivent être évités. Pour plus d'informations, y compris l'utilisation et les valeurs valides, voir : http://kubernetes.io/v1.1/docs/user-guide/labels.html Un objet contenant une liste de paires "clé" : valeur.Exemple : { "name" : "clé à molette", "masse" : "1.3kg", "count" : "3" }.
local_ssd_countnombre entier Le nombre de disques SSD locaux à attacher au nœud.La limite de cette valeur dépend du nombre maximal de disques disponibles sur une machine par zone. Voir : https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits pour plus d'informations.
type_machinechaîne de caractères Le nom d'un type de machine Google Compute Engine (par exemple, n1-standard-1). S'il n'est pas spécifié, le type de machine par défaut est n1-standard-1.
métadonnéesdictionnaire Les paires clé/valeur de métadonnées attribuées aux instances du cluster.Les clés doivent être conformes à la regexp. [a-zA-Z0-9-_]+ et avoir une longueur inférieure à 128 octets. Elles sont reflétées comme partie d'une URL dans le serveur de métadonnées. De plus, pour éviter toute ambiguïté, les clés ne doivent pas entrer en conflit avec d'autres clés de métadonnées pour le projet ou être l'une des quatre clés réservées : "instance-template", "kube-env", "startup-script" et "user-data" Les valeurs sont des chaînes de caractères de forme libre et n'ont de sens que si elles sont interprétées par l'image exécutée dans l'instance. La seule restriction qui leur est imposée est que la taille de chaque valeur doit être inférieure ou égale à 32 Ko.la taille totale de toutes les clés et valeurs doit être inférieure à 512 Ko.un objet contenant une liste de paires "clé" : valeur.exemple : { "name" : "wrench", "mass" : "1.3kg", "count" : "3" }.
min_cpu_platformchaîne de caractères Plate-forme CPU minimale à utiliser par cette instance. L'instance peut être planifiée sur la plate-forme CPU spécifiée ou plus récente .
oauth_scopesliste / elements=chaîne L'ensemble des scopes de l'API Google à rendre disponibles sur toutes les VM de nœuds sous le compte de service "par défaut".Les scopes suivants sont recommandés, mais pas obligatoires, et ne sont pas inclus par défaut : https://www.googleapis.com/auth/compute est nécessaire pour monter un stockage persistant sur vos nœuds.https://www.googleapis.com/auth/devstorage.read_only est nécessaire pour communiquer avec gcr.io (le registre des conteneurs de Google).S'il n'est pas spécifié, aucun scope n'est ajouté, sauf si la journalisation ou la surveillance du cloud sont activées, auquel cas leurs scopes requis seront ajoutés.
préemptiblebooléen
    Choix :

  • pas de
  • oui
Si les nœuds sont créés en tant qu'instances de VM préemptibles. Voir : https://cloud.google.com/compute/docs/instances/preemptible pour plus d'informations sur les instances VM préemptibles.
compte_servicechaîne de caractères Le compte de service Google Cloud Platform à utiliser par les VM du nœud. Si aucun compte de service n'est spécifié, le compte de service "par défaut" est utilisé.
shielded_instance_configdictionnaire Options de l'instance blindée.
enable_integrity_monitoringbooléen
    Choix :

  • pas de
  • oui
Définit si la surveillance de l'intégrité de l'instance est activée.Permet la surveillance et l'attestation de l'intégrité du démarrage de l'instance.L'attestation est effectuée par rapport à la ligne de base de la politique d'intégrité. Cette ligne de base est initialement dérivée de l'image de démarrage implicitement approuvée lors de la création de l'instance.
enable_secure_bootbooléen
    Choix :

  • pas de
  • oui
Définit si l'instance a Secure Boot activé.Secure Boot permet de s'assurer que le système n'exécute que des logiciels authentiques en vérifiant la signature numérique de tous les composants de démarrage et en arrêtant le processus de démarrage si la vérification de la signature échoue.
balisesliste / elements=chaîne La liste des balises d'instance appliquées à tous les nœuds. Les balises sont utilisées pour identifier les sources ou les cibles valides pour les pare-feu réseau et sont spécifiées par le client lors de la création du cluster ou du pool de nœuds. Chaque balise de la liste doit être conforme à la RFC1035.
taintsliste / éléments=dictionnaire Liste des taches kubernetes à appliquer à chaque nœud.
effetchaîne de caractères Effet pour la souillure.
cléchaîne de caractères Clé pour l'altération.
valeurchaîne de caractères Valeur pour la souillure.
charge de travail_meta_configdictionnaire WorkloadMetadataConfig définit la configuration des métadonnées à exposer aux charges de travail sur le pool de nœuds.
modechaîne de caractères Mode est la configuration pour la façon d'exposer les métadonnées aux charges de travail s'exécutant sur le pool de nœuds.Certains choix valides comprennent : "GCE_METADATA", "GKE_METADATA".
env_typechaîne de caractères Spécifie l'environnement Ansible dans lequel vous exécutez ce module.Cela ne devrait pas être défini à moins que vous ne sachiez ce que vous faites.Cela modifie uniquement la chaîne de l'agent utilisateur pour toute demande API.
initial_node_countnombre entier / obligatoire Le nombre initial de nœuds pour le pool. Vous devez vous assurer que votre quota de ressources Compute Engine est suffisant pour ce nombre d'instances. Vous devez également disposer d'un quota de pare-feu et de routes disponible.
emplacementchaîne de caractères / obligatoire L'emplacement où le pool de nœuds est déployé.
alias : région, zone
gestiondictionnaire Configuration de la gestion pour ce NodePool.
auto_repairbooléen
    Choix :

  • pas de
  • oui
Un drapeau qui spécifie si la réparation automatique des nœuds est activée pour le pool de nœuds. S'il est activé, les nœuds de ce pool de nœuds seront surveillés et, s'ils échouent aux contrôles de santé trop souvent, une action de réparation automatique sera déclenchée.
auto_upgradebooléen
    Choix :

  • pas de
  • oui
Un drapeau qui spécifie si la mise à niveau automatique des nœuds est activée pour le pool de nœuds. Si elle est activée, la mise à niveau automatique des nœuds permet de maintenir les nœuds de votre pool de nœuds à jour avec la dernière version de Kubernetes.
options_de_mise_à_niveaudictionnaire Spécifie les boutons de mise à niveau automatique pour le pool de nœuds.
max_pods_constraintdictionnaire La contrainte sur le nombre maximum de pods qui peuvent être exécutés simultanément sur un nœud du pool de nœuds.
max_pods_par_nodenombre entier Contrainte appliquée sur le num max de pods par nœud.
nomchaîne de caractères Le nom du pool de nœuds.
projetchaîne de caractères Le projet de la plateforme Google Cloud à utiliser.
scopesliste / elements=chaîne Tableau des scopes à utiliser
service_account_contentsjsonarg Le contenu d'un fichier JSON de compte de service, soit dans un dictionnaire, soit sous la forme d'une chaîne JSON qui le représente.
service_account_emailchaîne de caractères Une adresse électronique facultative du compte de service si machineaccount est sélectionné et que l'utilisateur ne souhaite pas utiliser l'adresse électronique par défaut.
fichier_compte_de_servicechemin d'accès Le chemin d'un fichier JSON de compte de service si serviceaccount est sélectionné comme type.
étatchaîne de caractères
    Choix :

  • présent
  • absent
Si l'objet donné doit exister dans les BPC
versionchaîne de caractères La version du Kubernetes de ce nœud.

Exemples

-name: create a cluster
  google.cloud.gcp_container_cluster:name: cluster-nodepool
    initial_node_count:4location: us-central1-a
    project:"{{ gcp_project }}"auth_kind:"{{ gcp_cred_kind }}"service_account_file:"{{ gcp_cred_file }}"state: present
  register: cluster

-name: create a node pool
  google.cloud.gcp_container_node_pool:name: my-pool
    initial_node_count:4cluster:"{{ cluster }}"location: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file:"/tmp/auth.pem"state: present

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Renvoyé Description
autoscalingcomplexe succès Configuration de l'autoscaler pour ce NodePool. L'autoscaler est activé uniquement si une configuration valide est présente.
activébooléen succès L'autoscaling est-il activé pour ce pool de nœuds.
maxNodeCountnombre entier succès Nombre maximal de nœuds dans le NodePool. Doit être >= minNodeCount.Il doit y avoir suffisamment de quota pour faire évoluer le cluster.
minNodeCountnombre entier succès Nombre minimum de nœuds dans le NodePool. Doit être >= 1 et <= maxNodeCount.
clusterdictionnaire succès Le cluster auquel appartient ce pool de nœuds.
conditionscomplexe succès Quelles conditions ont causé l'état actuel du pool de nœuds.
codechaîne de caractères succès Représentation conviviale de la condition.
configcomplexe succès La configuration des nœuds du pool.
accélérateurscomplexe succès Une liste d'accélérateurs matériels à attacher à chaque nœud.
acceleratorCountentier succès Le nombre de cartes accélératrices exposées à une instance.
acceleratorTypechaîne de caractères succès Le nom de la ressource du type d'accélérateur.
diskSizeGbnombre entier succès Taille du disque attaché à chaque nœud, spécifiée en Go. La plus petite taille de disque autorisée est de 10 Go. Si elle n'est pas spécifiée, la taille du disque par défaut est de 100 Go.
diskTypechaîne de caractères succès Type de disque attaché à chaque nœud (par exemple, 'pd-standard' ou 'pd-ssd') Si non spécifié, le type de disque par défaut est 'pd-standard' .
imageTypechaîne de caractères succès Le type d'image à utiliser pour ce nœud. Notez que pour un type d'image donné, la dernière version de celui-ci sera utilisée.
étiquettesdictionnaire succès La carte des étiquettes Kubernetes (paires clé/valeur) à appliquer à chaque nœud. Celles-ci seront ajoutées en plus de toute(s) étiquette(s) par défaut que Kubernetes peut appliquer au nœud. En cas de conflit dans les clés d'étiquettes, l'ensemble appliqué peut différer selon la version de Kubernetes -- il est préférable de supposer que le comportement est indéfini et que les conflits doivent être évités. Pour plus d'informations, y compris l'utilisation et les valeurs valides, voir : http://kubernetes.io/v1.1/docs/user-guide/labels.html Un objet contenant une liste de paires "clé" : valeur.Exemple : { "name" : "clé à molette", "masse" : "1.3kg", "count" : "3" }.
localSsdCountnombre entier succès Le nombre de disques SSD locaux à attacher au nœud.La limite de cette valeur dépend du nombre maximal de disques disponibles sur une machine par zone. Voir : https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits pour plus d'informations.
machineTypechaîne de caractères succès Le nom d'un type de machine Google Compute Engine (par exemple, n1-standard-1). S'il n'est pas spécifié, le type de machine par défaut est n1-standard-1.
métadonnéesdictionnaire succès Les paires clé/valeur de métadonnées attribuées aux instances du cluster.Les clés doivent être conformes à la regexp. [a-zA-Z0-9-_]+ et avoir une longueur inférieure à 128 octets. Elles sont reflétées comme partie d'une URL dans le serveur de métadonnées. En outre, pour éviter toute ambiguïté, les clés ne doivent pas entrer en conflit avec d'autres clés de métadonnées pour le projet ou être l'une des quatre clés réservées : "instance-template", "kube-env", "startup-script" et "user-data" Les valeurs sont des chaînes de caractères de forme libre et n'ont de sens que si elles sont interprétées par l'image exécutée dans l'instance. La seule restriction qui leur est imposée est que la taille de chaque valeur doit être inférieure ou égale à 32 Ko.la taille totale de toutes les clés et valeurs doit être inférieure à 512 Ko.un objet contenant une liste de paires "clé" : valeur.exemple : { "name" : "wrench", "mass" : "1.3kg", "count" : "3" }.
minCpuPlatformchaîne de caractères succès Plate-forme CPU minimale à utiliser par cette instance. L'instance peut être planifiée sur la plate-forme CPU spécifiée ou plus récente .
oauthScopesliste / elements=string succès L'ensemble des scopes de l'API Google à rendre disponibles sur toutes les VM de nœuds sous le compte de service "par défaut".Les scopes suivants sont recommandés, mais pas obligatoires, et ne sont pas inclus par défaut : https://www.googleapis.com/auth/compute est nécessaire pour monter un stockage persistant sur vos nœuds.https://www.googleapis.com/auth/devstorage.read_only est nécessaire pour communiquer avec gcr.io (le registre des conteneurs de Google).S'il n'est pas spécifié, aucun scope n'est ajouté, sauf si la journalisation ou la surveillance du cloud sont activées, auquel cas leurs scopes requis seront ajoutés.
préemptibleboolean succès Si les nœuds sont créés en tant qu'instances de VM préemptibles. Voir : https://cloud.google.com/compute/docs/instances/preemptible pour plus d'informations sur les instances VM préemptibles.
serviceAccountchaîne de caractères succès Le compte de service Google Cloud Platform à utiliser par les VM du nœud. Si aucun compte de service n'est spécifié, le compte de service "par défaut" est utilisé.
shieldedInstanceConfigcomplexe succès Options de l'instance blindée.
enableIntegrityMonitoringbooléen succès Définit si la surveillance de l'intégrité de l'instance est activée.Permet la surveillance et l'attestation de l'intégrité du démarrage de l'instance.L'attestation est effectuée par rapport à la ligne de base de la politique d'intégrité. Cette ligne de base est initialement dérivée de l'image de démarrage implicitement approuvée lors de la création de l'instance.
enableSecureBootboolean succès Définit si l'instance a Secure Boot activé.Secure Boot permet de s'assurer que le système n'exécute que des logiciels authentiques en vérifiant la signature numérique de tous les composants de démarrage et en arrêtant le processus de démarrage si la vérification de la signature échoue.
balisesliste / elements=chaîne succès La liste des balises d'instance appliquées à tous les nœuds. Les balises sont utilisées pour identifier les sources ou les cibles valides pour les pare-feu réseau et sont spécifiées par le client lors de la création du cluster ou du pool de nœuds. Chaque balise de la liste doit être conforme à la RFC1035.
taintscomplexe succès Liste des taints kubernetes à appliquer à chaque nœud.
effetchaîne de caractères succès Effet pour la souillure.
cléchaîne de caractères succès Clé pour la souillure.
valeurchaîne de caractères succès Valeur pour la taint.
workloadMetaConfigcomplexe succès WorkloadMetadataConfig définit la configuration des métadonnées à exposer aux charges de travail sur le pool de nœuds.
modechaîne de caractères succès Mode est la configuration pour la façon d'exposer les métadonnées aux charges de travail s'exécutant sur le pool de nœuds.
initialNodeCountnombre entier succès Le nombre initial de nœuds pour le pool. Vous devez vous assurer que le quota de ressources de votre Compute Engine est suffisant pour ce nombre d'instances. Vous devez également disposer d'un quota de pare-feu et de routes disponible.
emplacementchaîne de caractères succès L'emplacement où le pool de nœuds est déployé.
gestioncomplexe succès Configuration de gestion pour ce NodePool.
autoRepairboolean succès Un drapeau qui spécifie si la réparation automatique des nœuds est activée pour le pool de nœuds. S'il est activé, les nœuds de ce pool de nœuds seront surveillés et, s'ils échouent aux contrôles de santé trop souvent, une action de réparation automatique sera déclenchée.
autoUpgradebooléen succès Un drapeau qui spécifie si la mise à niveau automatique des nœuds est activée pour le pool de nœuds. Si elle est activée, la mise à niveau automatique des nœuds permet de maintenir les nœuds de votre pool de nœuds à jour avec la dernière version de Kubernetes.
upgradeOptionscomplexe succès Spécifie les boutons de mise à niveau automatique pour le pool de nœuds.
autoUpgradeStartTimechaîne de caractères succès Ce champ est défini lorsque les mises à niveau sont sur le point de commencer avec l'heure approximative de début des mises à niveau, au format texte RFC3339.
descriptionchaîne de caractères succès Ce champ est défini lorsque les mises à niveau sont sur le point de commencer avec la description de la mise à niveau.
maxPodsConstraintcomplexe succès La contrainte sur le nombre maximum de pods qui peuvent être exécutés simultanément sur un nœud du pool de nœuds.
maxPodsPerNodenombre entier succès Contrainte appliquée sur le num max de pods par nœud.
nomchaîne de caractères succès Le nom du pool de nœuds.
podIpv4CidrSizenombre entier succès La taille du bloc CIDR du pod par nœud dans ce pool de nœuds.
statuschaîne de caractères succès Statut des nœuds de cette instance de pool.
statusMessagechaîne de caractères succès Informations supplémentaires sur l'état actuel de cette instance de pool de nœuds.
versionchaîne de caractères succès La version du Kubernetes de ce nœud.

Auteurs

  • Google Inc. (@googlecloudplatform)