Utiliser des nœuds à locataire unique Compute Engine dans GKE

Cette page explique comment utiliser les nœuds à locataire unique Compute Engine dans Google Kubernetes Engine (GKE).

Les nœuds à locataire unique sont des serveurs physiques dédiés qui exécutent les VM d'un projet spécifique. Vous pouvez utiliser des nœuds à locataire unique pour séparer physiquement vos VM des VM d'autres projets, ou pour regrouper vos VM sur le même matériel hôte.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

Configurez les paramètres gcloud par défaut à l'aide de l'une des méthodes suivantes :

  • Utilisez gcloud init pour suivre les instructions permettant de définir les paramètres par défaut.
  • Utilisez gcloud config pour définir individuellement l'ID, la zone et la région de votre projet.

Utiliser gcloud init

Si le message d'erreur One of [--zone, --region] must be supplied: Please specify location s'affiche, effectuez les tâches ci-dessous.

  1. Exécutez gcloud init et suivez les instructions :

    gcloud init

    Si vous utilisez SSH sur un serveur distant, utilisez l'option --console-only pour empêcher la commande d'ouvrir un navigateur :

    gcloud init --console-only
  2. Suivez les instructions pour autoriser gcloud à utiliser votre compte Google Cloud.
  3. Créez ou sélectionnez une configuration.
  4. Choisissez un projet Google Cloud.
  5. Choisissez une zone Compute Engine par défaut.

Utiliser gcloud config

  • Définissez votre ID de projet par défaut :
    gcloud config set project PROJECT_ID
  • Si vous utilisez des clusters zonaux, définissez votre zone de calcul par défaut :
    gcloud config set compute/zone COMPUTE_ZONE
  • Si vous utilisez des clusters régionaux, définissez votre région de calcul par défaut :
    gcloud config set compute/region COMPUTE_REGION
  • Mettez à jour gcloud vers la dernière version :
    gcloud components update

Demander des quotas supplémentaires

Les nœuds à locataire unique sont volumineux (par exemple, 96 processeurs virtuels et 624 Go de mémoire), et les quotas par défaut du projet sont trop faibles pour les gérer.

Vous devez demander une augmentation de quota pour les processeurs de l'API Compute Engine sur la page Quotas pour créer des nœuds à locataire unique. Pour en savoir plus sur les demandes d'augmentation, consultez la section Quotas.

Le nombre de processeurs dont vous avez besoin dépend des éléments suivants :

  • Votre utilisation actuelle du quota de processeurs.
  • La taille du groupe de nœuds.
  • Le modèle de nœud.

Examinez le nombre de cœurs de votre type de nœud à locataire unique et demandez une limite de processeur équivalente à au moins cette quantité, de préférence avec une marge de 10 processeurs supplémentaires.

Créer un modèle de nœud à locataire unique

Un modèle de nœud à locataire unique est une ressource régionale qui définit et applique des propriétés à chaque nœud lors de la création d'un groupe de nœuds. Pour plus d'informations, consultez la section Types de nœuds.

Console

  1. Accédez à la page des nœuds à locataire unique.

    Accéder à la page "Nœuds à locataire unique"

  2. Cliquez sur Créer un modèle de nœud.

  3. Spécifiez un Nom et une Région pour votre modèle de nœud.

  4. Sélectionnez un Type de nœud.

  5. Ajoutez éventuellement un ou plusieurs libellés d'affinité de nœuds.

  6. Cliquez sur Créer pour créer le modèle de nœud.

gcloud

Exécutez la commande gcloud compute sole-tenancy node-templates create pour créer un modèle de nœud :

gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \
  --node-type=NODE_TYPE \
  --node-affinity-labels=AFFINITY_LABELS \
  --region=REGION

Remplacez les éléments suivants :

  • TEMPLATE_NAME : nom du nouveau modèle de nœud.

  • NODE_TYPE : type de nœud pour les nœuds à locataire unique créés à partir de ce modèle. Exécutez la commande gcloud compute sole-tenancy node-types list pour obtenir la liste des types de nœuds disponibles dans chaque zone.

  • AFFINITY_LABELS : clés et valeurs, [KEY=VALUE,...] pour les libellés d'affinité. Les libellés d'affinité vous permettent de regrouper logiquement des nœuds et des groupes de nœuds. Ensuite, lorsque vous provisionnez des VM, vous pouvez spécifier des libellés d'affinité sur les VM pour les planifier sur un ensemble spécifique de nœuds ou de groupes de nœuds. Pour en savoir plus, consultez la section Affinité et anti-affinité de nœuds.

  • REGION : région dans laquelle créer le modèle de nœud. Vous pouvez utiliser ce modèle pour créer des groupes de nœuds dans n'importe quelle zone de cette région.

Le résultat est semblable à ceci :

Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/nodeTemplates/template-name].

Créer un groupe de nœuds à locataire unique

Un groupe de nœuds est un ensemble de nœuds à locataire unique dans une zone spécifique à partir du même modèle de nœud à locataire unique. Pour les clusters et les pools de nœuds régionaux disponibles dans plusieurs zones, vous devez créer un groupe de nœuds portant le même nom dans chaque zone.

Console

Pour créer un groupe de nœuds à locataire unique, procédez comme suit :

  1. Accédez à la page des nœuds à locataire unique.

    Accéder à la page "Nœuds à locataire unique"

  2. Cliquez sur Créer un groupe de nœuds.

  3. Spécifiez un Nom pour votre modèle de nœud.

  4. Sélectionnez la même Région que celle dans laquelle vous avez créé votre modèle de nœud, puis sélectionnez une Zone dans cette Région.

  5. Sélectionnez votre Modèle de nœud.

  6. Vous pouvez également activer le Mode autoscaling.

  7. Spécifiez le Nombre de nœuds souhaité pour le groupe.

  8. Modifiez éventuellement la Stratégie de maintenance.

  9. Cliquez sur Créer pour créer le groupe de nœuds.

gcloud

Créez un groupe de nœuds à partir du modèle :

gcloud compute sole-tenancy node-groups create group-name --zone compute-zone \
  --node-template template-name --target-size target-size

Remplacez l'élément suivant :

  • group-name : nom que vous souhaitez attribuer à votre nouveau groupe de nœuds.
  • compute-zone : zone où se trouve le groupe de nœuds. Cette zone doit appartenir à la même région que le modèle de nœud que vous utilisez.
  • template-name : nom du modèle de nœud que vous utilisez.
  • target-size : nombre de nœuds à créer dans le groupe.

Le résultat est semblable à ceci :

Created [https://www.googleapis.com/compute/beta/projects/my-project/zones/us-central1-a/nodeGroups/group-name].

Créer un pool de nœuds à locataire unique GKE

Maintenant que vous avez créé un groupe de nœuds à locataire unique dans Compute Engine, vous pouvez créer un pool de nœuds à locataire unique.

Si vous disposez déjà d'un cluster GKE, vous pouvez y ajouter un pool de nœuds à locataire unique. Si ce n'est pas le cas, créez un cluster avec gcloud container clusters create.

Si vous utilisez un cluster régional ou si votre pool de nœuds est disponible dans plusieurs zones, vous devez créer un groupe de nœuds portant le même nom dans chacune de ces zones. Si vous ne pouvez pas réutiliser le nom dans chaque zone, créez des pools de nœuds distincts pour chaque zone.

  1. Créez un pool de nœuds avec un groupe de nœuds spécifié :

    Pour les pools de nœuds zonaux :

     gcloud container node-pools create node-pool-name \
       --node-group group-name --cluster cluster-name \
       --zone compute-zone --machine-type=node-group-machine-type \
       --node-locations=node-group-zone
    

    Pour les pools de nœuds régionaux :

      gcloud container node-pools create node-pool-name \
        --node-group group-name --cluster cluster-name \
        --region compute-region --machine-type=node-group-machine-type \
        --node-locations=node-group-zone,[node-group-zone,…]
    

    Remplacez l'élément suivant :

    • node-pool-name : nom du nouveau pool de nœuds.
    • group-name : nom du groupe de nœuds à locataire unique existant que vous souhaitez utiliser.
    • cluster-name : nom du cluster dans lequel vous créez le pool de nœuds.
    • compute-zone : la même zone que votre cluster.
    • compute-region : la même région que votre cluster.
    • machine-type : le type de machine du pool de nœuds.
    • node-group-zone : les zones du groupe de nœuds à locataire unique.

  2. Vérifiez que le pool de nœuds est créé :

      kubectl get nodes
    

Une liste de nœuds présentant l'état Ready doit s'afficher dans le pool de nœuds que vous venez de créer. Vous pouvez également afficher les nœuds à locataire unique sur la page Nœuds à locataire unique.

Nettoyer

Pour supprimer les ressources créées dans les exemples précédents, procédez comme suit :

  1. Supprimez le pool de nœuds à locataire unique :

    gcloud  container node-pools delete node-pool-name
    
  2. Supprimez le groupe de nœuds à locataire unique :

    gcloud beta compute sole-tenant node-groups delete group-name --zone compute-zone
    
  3. Supprimez le modèle de nœud à locataire unique :

    gcloud beta compute sole-tenancy node-templates delete template-name \
        --region compute-region
    

Étape suivante