Créer un cluster zonal


Ce document explique comment créer un cluster zonal standard avec les fonctionnalités par défaut activées dans Google Kubernetes Engine (GKE). Les clusters zonaux possèdent un seul plan de contrôle dans une seule zone. Selon vos exigences de disponibilité, vous pouvez choisir de distribuer vos nœuds pour votre cluster zonal dans une seule zone ou dans plusieurs zones.

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

Clusters à zone unique ou clusters multizones

Un cluster à zone unique possède un seul plan de contrôle s'exécutant dans une zone. Ce plan de contrôle gère les charges de travail sur les nœuds exécutés dans la même zone. Si vous exécutez une charge de travail dans une seule zone, cette charge de travail ne sera pas disponible en cas d'indisponibilité de zone.

Les nœuds d'un cluster multizone s'exécutent dans plusieurs zones, mais ils ne comportent qu'une seule instance dupliquée du plan de contrôle. Si vous exécutez une charge de travail dans plusieurs zones et qu'une indisponibilité de zone se produit, la charge de travail est interrompue dans cette zone, mais reste disponible dans les autres.

Si vous avez besoin d'une disponibilité plus élevée pour le plan de contrôle, envisagez plutôt de créer un cluster régional. Dans un cluster régional, le plan de contrôle est répliqué sur plusieurs zones dans une même région.

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.
  • Les clusters multizones utilisent plus de ressources que les clusters à zone unique. Si vous créez un cluster multizones, vérifiez que vous disposez de quotas suffisants.
  • Assurez-vous de disposer des autorisations appropriées pour créer des clusters. Vous devez au minimum disposer du rôle Administrateur de cluster Kubernetes Engine.
  • Si vous souhaitez enregistrer votre nouveau cluster dans un parc (accès limité uniquement), assurez-vous de disposer des API et autorisations requises.

Créer un cluster zonal

Vous pouvez créer un cluster zonal à 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 zonal avec gCloud CLI, utilisez l'une des commandes suivantes.

Remplacez l'élément suivant :

  • CLUSTER_NAME : nom de votre nouveau 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.
  • COMPUTE_ZONE : zone de calcul du plan de contrôle du cluster.
  • VERSION : version que vous souhaitez spécifier pour votre cluster.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...] : zones dans lesquelles les nœuds sont créés. Vous pouvez spécifier autant de zones que nécessaire pour votre cluster. Toutes les zones doivent se trouver dans la même région que le plan de contrôle du cluster, spécifié par l'option --zone. Pour les clusters zonaux, --node-locations doit contenir la zone principale du 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 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 \
    --release-channel CHANNEL \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --cluster-version VERSION \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --release-channel None \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Exemple

La commande suivante crée un cluster multizones nommé example-cluster, où le plan de contrôle du cluster est situé dans la zone us-central-a, et où il existe trois emplacements de nœuds. Le cluster est enregistré dans la version disponible regular.

Lorsque l'option --num-nodes est omise, le nombre par défaut de nœuds par zone créés par le cluster est de trois. Comme trois zones ont été spécifiées, cette commande crée un cluster de neuf nœuds, avec trois nœuds dans chacune des zones us-central1-a, us-central1-b et us-central1-c.

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Console

Pour créer un cluster zonal à l'aide de la console Google Cloud, procédez comme suit :

  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 Zonal, puis choisissez la zone souhaitée pour votre cluster.
    3. Si vous créez un cluster multizones, cochez la case Spécifier les emplacements de nœud par défaut, puis choisissez des zones supplémentaires dans lesquelles vous souhaitez exécuter le cluster.

    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 zonal 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-zonal-single-zone"
  location           = "us-central1-a"
  initial_node_count = 1

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

Pour créer un cluster zonal 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.

Modèles de cluster

GKE était précédemment compatible avec les modèles pour les clusters. Ces modèles ont été supprimés de la console Google Cloud, mais sont toujours accessibles à partir des liens suivants :

Étapes suivantes

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de GKE en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai gratuit de GKE