Créer un cluster régional


Ce document explique comment créer un cluster régional standard pour augmenter la disponibilité du plan de contrôle et des charges de travail du cluster lorsqu'il est soumis à des mises à niveau, à la maintenance automatisée ou à des perturbations de zone.

Les clusters Autopilot GKE sont toujours régionaux.

Présentation

Lorsque vous créez un cluster régional au lieu d'un cluster zonal, le plan de contrôle du cluster est répliqué sur plusieurs zones dans une même région donnée. Pour les pools de nœuds dans un cluster régional, vous pouvez spécifier manuellement la ou les zones dans lesquelles exécuter les pools de nœuds, ou utiliser la configuration par défaut, qui réplique chaque pool de nœuds sur trois zones de la région du plan de contrôle. Toutes les zones doivent se trouver dans la même région que le plan de contrôle du cluster.

Les clusters régionaux dupliquent des ressources sur plusieurs zones et consomment des quotas supplémentaires.

Pour en savoir plus sur les différents types de disponibilité de cluster, consultez la page À propos des choix de configuration des clusters.

Les instructions des sections suivantes vous expliquent comment :

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Créer un cluster régional avec un pool de nœuds à zone unique

Les instructions suivantes vous expliquent comment créer un cluster régional avec un pool de nœuds fonctionnant dans une seule zone de la région. Le plan de contrôle du cluster est répliqué sur plusieurs zones dans la région spécifiée, mais les nœuds se trouvent dans la zone unique et ne sont pas répliqués sur d'autres zones.

Vous pouvez créer le cluster à l'aide de gcloud CLI, de la console Google Cloud ou de Terraform.

Si vous développez des applications GKE avec Cloud Code pour VS Code, essayez de créer des clusters avec Cloud Code.

gcloud

Pour créer un cluster régional à l'aide de la gcloud CLI, utilisez l'une des commandes suivantes et remplacez les variables suivantes :

  • CLUSTER_NAME : nom du cluster régional à créer.
  • COMPUTE_REGION : région choisie pour votre cluster, par exemple us-central1.
  • COMPUTE_ZONE : la zone de votre pool de nœuds, comme us-central1-a. La zone doit se trouver dans la même région que le plan de contrôle du cluster.
  • CHANNEL : type de version disponible, à savoir rapid, regular, stable ou None. Par défaut, le cluster est enregistré dans le canal de publication regular, sauf si au moins l'une des options suivantes est spécifiée : --cluster-version, --release-channel, --no-enable-autoupgrade ou --no-enable-autorepair.
  • VERSION : version que vous souhaitez spécifier pour votre cluster.

Dans les commandes ci-dessous, vous pouvez éventuellement utiliser l'indicateur --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com pour spécifier un autre compte de service IAM que les nœuds du premier pool de nœuds de votre cluster utilisent au lieu du service par défaut Compute Engine. Cette option est facultative, mais nous vous recommandons vivement de créer un compte de service doté de privilèges minimaux afin que vos nœuds ne disposent pas de plus de droits que nécessaire.

Utiliser une version disponible spécifique :

Pour créer un cluster à l'aide d'une version disponible spécifique, exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel CHANNEL

Utiliser une version spécifique :

Pour créer un cluster à l'aide d'une version de cluster spécifique, exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --cluster-version VERSION

Utiliser la version par défaut pour les clusters non enregistrés dans un canal de publication :

Pour créer un cluster à l'aide de la version par défaut pour les clusters non enregistrés dans un canal de publication, vous n'avez pas besoin de spécifier de version de cluster, mais vous devez définir le canal de publication sur None :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel None

Exemple

La commande suivante crée un cluster régional inscrit dans la version disponible regular (par défaut), avec trois nœuds (par défaut) dans la zone us-west1-c :

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c

Exemple

La commande suivante crée un cluster régional inscrit dans la version disponible regular (par défaut), avec deux nœuds situés dans la zone us-west1-c :

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c \
    --num-nodes 2

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Dans la section Paramètres de base du cluster, procédez comme suit :

    1. Saisissez le nom de votre cluster.
    2. Pour le type d'emplacement, sélectionnez Régional, puis choisissez la région souhaitée pour votre cluster.
    3. Si vous souhaitez remplacer les emplacements de nœuds par défaut (par exemple, pour les exécuter dans une seule zone), cochez la case Spécifier les emplacements de nœuds par défaut, puis choisissez la ou les zones dans lequel vous souhaitez exécuter les pools de nœuds.

    4. Choisissez un canal de publication. Vous pouvez éventuellement sélectionner Aucune version dans la liste déroulante, mais nous vous recommandons de consulter la section Quand ne pas enregistrer votre cluster dans un canal de publication avant de choisir cette option. GKE met automatiquement à niveau les clusters qui ne figurent pas dans un canal de publication avec des versions du canal stable.

    5. Facultatif : Spécifiez une version du plan de contrôle dans la liste déroulante Version.

  4. Facultatif (disponible avec GKE Enterprise) : si vous souhaitez enregistrer votre nouveau cluster dans un parc, accédez à la section Enregistrement du parc, puis suivez les instructions de la console Google Cloud pour créer et enregistrer un cluster afin de terminer l'enregistrement de votre cluster.

  5. Dans le volet de navigation, sous Pools de nœuds, cliquez sur default-pool.

  6. Dans la section Détails du pool de nœuds, procédez comme suit :

    1. Saisissez un nom pour le pool de nœuds par défaut.
    2. Facultatif : Sélectionnez la version du nœud.
    3. Saisissez le nombre de nœuds à créer dans le cluster. Vous devez disposer d'un quota de ressources disponible pour les nœuds et les ressources associées (telles que les routes de pare-feu).
    4. Facultatif : Vous pouvez choisir de désactiver les mises à niveau automatiques des nœuds. Nous vous recommandons toutefois de consulter les éléments à prendre en compte avant de désactiver les mises à niveau automatiques des nœuds avant de choisir cette option.
  7. Dans le volet de navigation, cliquez sur Nœuds sous Pools de nœuds.

  8. Dans la liste déroulante Type d'image, sélectionnez l'image de nœud.

  9. Sélectionnez la configuration de la machine à utiliser par défaut pour les instances. Chaque type de machine est facturé différemment. Le type de machine par défaut est e2-medium. Pour plus d'informations sur les tarifs applicables aux différents types de machine, consultez la grille tarifaire par type de machine.

  10. Dans la liste déroulante Type de disque de démarrage, sélectionnez le type de disque.

  11. Saisissez la taille du disque de démarrage.

  12. Facultatif : dans le volet de navigation, sous Pools de nœuds, cliquez sur Sécurité.

  13. Facultatif : dans la liste déroulante Compte de service, sélectionnez un compte de service de gestion de l'authentification et des accès (IAM) pour les applications à utiliser lors de l'appel des API Google Cloud. Nous vous recommandons d'utiliser un compte de service associé à des privilèges minimaux plutôt que le compte de service par défaut, afin que vos nœuds ne disposent pas de plus de droits que nécessaire.

  14. Cliquez sur Créer.

Terraform

Pour créer un cluster régional avec un pool de nœuds à zone unique à l'aide de Terraform, reportez-vous à l'exemple suivant :

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-single-zone"
  location           = "us-west1"
  node_locations     = ["us-west1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Pour en savoir plus sur l'utilisation de Terraform, consultez la page Compatibilité de Terraform avec GKE.

Interagir avec un cluster à l'aide de kubectl

Après avoir créé un cluster, vous devez configurer kubectl pour pouvoir interagir avec le cluster depuis la ligne de commande.

Créer un cluster régional comportant un pool de nœuds multizone

Les instructions suivantes vous expliquent comment créer un cluster régional avec un pool de nœuds multizone, qui est la configuration par défaut. Le plan de contrôle et les nœuds du cluster sont répliqués sur plusieurs zones dans la région spécifiée.

Vous pouvez créer le cluster à l'aide de gcloud CLI, de la console Google Cloud ou de Terraform.

Si vous développez des applications GKE avec Visual Studio Code, essayez de créer des clusters avec Cloud Code.

gcloud

Pour créer un cluster régional à l'aide de la gcloud CLI, utilisez l'une des commandes suivantes et remplacez les variables suivantes :

  • CLUSTER_NAME : nom du cluster régional à créer.
  • COMPUTE_REGION : région choisie pour votre cluster, par exemple us-central1.
  • CHANNEL : type de version disponible, à savoir rapid, regular, stable ou None. Par défaut, le cluster est inscrit dans la version disponible regular si les options suivantes ne sont pas spécifiées : --cluster-version, --release-channel, --no-enable-autoupgrade et --no-enable-autorepair.
  • VERSION : version que vous souhaitez spécifier pour votre cluster.
  • Pour les régions de plus de trois zones ou lorsqu'il est préférable de réduire le nombre de zones, vous pouvez définir l'option --node-locations facultative afin de remplacer les zones par défaut où sont répliqués les nœuds.

Dans les commandes ci-dessous, vous pouvez éventuellement utiliser l'indicateur --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com pour spécifier un autre compte de service IAM que les nœuds du premier pool de nœuds de votre cluster utilisent au lieu du service par défaut Compute Engine. Cette option est facultative, mais nous vous recommandons vivement de créer et utiliser un compte de service doté de privilèges minimaux afin que vos nœuds ne disposent pas de plus de droits que nécessaire.

Utiliser une version disponible spécifique :

Pour créer un cluster à l'aide d'une version disponible spécifique, exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel CHANNEL

Utiliser une version spécifique :

Pour créer un cluster à l'aide d'une version de cluster spécifique, exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --cluster-version VERSION

Utiliser la version par défaut pour les clusters non enregistrés dans un canal de publication :

Pour créer un cluster à l'aide de la version par défaut pour les clusters non enregistrés dans un canal de publication, vous n'avez pas besoin de spécifier de version de cluster, mais vous devez définir le canal de publication sur None :

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel None

Exemple

La commande suivante crée un cluster régional inscrit dans la version disponible regular, avec neuf nœuds dans us-west1 (trois zones comportant chacune trois nœuds, ce qui correspond à la situation par défaut) :

gcloud container clusters create my-regional-cluster --region us-west1

Exemple

La commande suivante crée un cluster régional inscrit dans la version disponible regular, avec six nœuds (trois zones comportant chacune deux nœuds, comme spécifié par --num-nodes) :

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --num-nodes 2

Exemple

La commande suivante crée un cluster régional inscrit dans la version disponible regular, avec six nœuds dans deux zones (deux zones, spécifiées par --node-locations, comportant chacune trois nœuds) :

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Dans la section Paramètres de base du cluster, procédez comme suit :

    1. Saisissez le nom de votre cluster.
    2. Pour le type d'emplacement, sélectionnez Régional, puis choisissez la région souhaitée pour votre cluster.
    3. Si vous souhaitez remplacer les emplacements de nœuds par défaut (par exemple, pour les exécuter dans une seule zone), cochez la case Spécifier les emplacements de nœuds par défaut, puis choisissez la ou les zones dans lequel vous souhaitez exécuter les pools de nœuds.

    4. Choisissez un canal de publication. Vous pouvez éventuellement sélectionner Aucune version dans la liste déroulante, mais nous vous recommandons de consulter la section Quand ne pas enregistrer votre cluster dans un canal de publication avant de choisir cette option. GKE met automatiquement à niveau les clusters qui ne figurent pas dans un canal de publication avec des versions du canal stable.

    5. Facultatif : Spécifiez une version du plan de contrôle dans la liste déroulante Version.

  4. Facultatif (disponible avec GKE Enterprise) : si vous souhaitez enregistrer votre nouveau cluster dans un parc, accédez à la section Enregistrement du parc, puis suivez les instructions de la console Google Cloud pour créer et enregistrer un cluster afin de terminer l'enregistrement de votre cluster.

  5. Dans le volet de navigation, sous Pools de nœuds, cliquez sur default-pool.

  6. Dans la section Détails du pool de nœuds, procédez comme suit :

    1. Saisissez un nom pour le pool de nœuds par défaut.
    2. Facultatif : Sélectionnez la version du nœud.
    3. Saisissez le nombre de nœuds à créer dans le cluster. Vous devez disposer d'un quota de ressources disponible pour les nœuds et les ressources associées (telles que les routes de pare-feu).
    4. Facultatif : Vous pouvez choisir de désactiver les mises à niveau automatiques des nœuds. Nous vous recommandons toutefois de consulter les éléments à prendre en compte avant de désactiver les mises à niveau automatiques des nœuds avant de choisir cette option.
  7. Dans le volet de navigation, cliquez sur Nœuds sous Pools de nœuds.

  8. Dans la liste déroulante Type d'image, sélectionnez l'image de nœud.

  9. Sélectionnez la configuration de la machine à utiliser par défaut pour les instances. Chaque type de machine est facturé différemment. Le type de machine par défaut est e2-medium. Pour plus d'informations sur les tarifs applicables aux différents types de machine, consultez la grille tarifaire par type de machine.

  10. Dans la liste déroulante Type de disque de démarrage, sélectionnez le type de disque.

  11. Saisissez la taille du disque de démarrage.

  12. Facultatif : dans le volet de navigation, sous Pools de nœuds, cliquez sur Sécurité.

  13. Facultatif : dans la liste déroulante Compte de service, sélectionnez un compte de service de gestion de l'authentification et des accès (IAM) pour les applications à utiliser lors de l'appel des API Google Cloud. Nous vous recommandons d'utiliser un compte de service associé à des privilèges minimaux plutôt que le compte de service par défaut, afin que vos nœuds ne disposent pas de plus de droits que nécessaire.

  14. Cliquez sur Créer.

Terraform

Pour créer un cluster régional avec un pool de nœuds multizone à l'aide de Terraform, reportez-vous à l'exemple suivant :

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-multi-zone"
  location           = "us-central1"
  node_locations     = ["us-central1-b", "us-central1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Pour en savoir plus sur l'utilisation de Terraform, consultez la page Compatibilité de Terraform avec GKE.

Interagir avec un cluster à l'aide de kubectl

Après avoir créé un cluster, vous devez configurer kubectl pour pouvoir interagir avec le cluster depuis la ligne de commande.

Étape suivante