Créer un cluster alpha

Cette page explique comment créer un cluster alpha Google Kubernetes Engine (GKE) , qui est un cluster GKE avec les API et fonctionnalités alpha de Kubernetes activées. Dans un cluster alpha, toutes les feature gates alpha disponibles avec la version de Kubernetes sont activées par défaut. Les feature gates bêta que Kubernetes active par défaut sont également activées. Vous pouvez modifier les feature gates activées par rapport aux valeurs par défaut de GKE. Pour en savoir plus sur les feature gates disponibles avec des versions spécifiques et sur les fonctionnalités bêta activées par défaut, consultez la section Feature gates pour les fonctionnalités alpha ou bêta dans la documentation de Kubernetes.

Pour en savoir plus sur le fonctionnement des clusters GKE et sur la façon de choisir le type de cluster GKE à créer, consultez les pages Architecture d'un cluster GKE et À propos des choix de configuration de cluster.

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 la Google Cloud CLI pour cette tâche, installez et initialisez la gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière version en exécutant la commande gcloud components update. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.

Configurer des comptes de service IAM pour GKE

GKE utilise des comptes de service IAM associés à vos nœuds pour exécuter des tâches système telles que la journalisation et la surveillance. Au minimum, ces comptes de service de nœud doivent disposer du rôle Compte de service de nœud par défaut Kubernetes Engine (roles/container.defaultNodeServiceAccount) sur votre projet. Par défaut, GKE utilise le compte de service Compute Engine par défaut, qui est créé automatiquement dans votre projet, en tant que compte de service de nœud.

Pour attribuer le rôle roles/container.defaultNodeServiceAccount au compte de service Compute Engine par défaut, procédez comme suit :

Console

  1. Accédez à la page d'accueil :

    Accéder à la page d'accueil

  2. Dans le champ Numéro du projet, cliquez sur Copier dans le presse-papiers.
  3. Accédez à la page IAM :

    Accéder à la page "IAM"

  4. Cliquez sur  Accorder l'accès.
  5. Dans le champ Nouveaux comptes principaux, spécifiez la valeur suivante :
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Remplacez PROJECT_NUMBER par le numéro de projet que vous avez copié.
  6. Dans le menu Sélectionner un rôle, choisissez le rôle Compte de service de nœud par défaut Kubernetes Engine.
  7. Cliquez sur Enregistrer.

gcloud

  1. Recherchez le numéro de votre Google Cloud projet:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Remplacez PROJECT_ID par l'ID du projet.

    Le résultat ressemble à ce qui suit :

    12345678901
    
  2. Attribuez le rôle roles/container.defaultNodeServiceAccount au compte de service Compute Engine par défaut :
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Remplacez PROJECT_NUMBER par le numéro de projet de l'étape précédente.

Créer un cluster alpha

Vous pouvez créer un cluster alpha à l'aide de la Google Cloud console ou de la gcloud CLI. Nous vous recommandons d'utiliser la gcloud CLI pour les raisons suivantes :

  • Vous pouvez enregistrer votre cluster dans la version disponible précoce, ce qui est recommandé pour les clusters alpha.
  • Vous pouvez spécifier les feature gates alpha ou bêta à activer ou à désactiver différemment des valeurs par défaut.

Console

  1. Dans la Google Cloud console, accédez à la page Créer un cluster Kubernetes.

    Accéder à la page "Créer un cluster Kubernetes"

  2. 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. Dans la liste déroulante Canal de publication, sélectionnez Aucun canal.

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

  3. Facultatif : Configurez d'autres paramètres pour votre nouveau cluster.

  4. Facultatif : Si vous souhaitez enregistrer votre nouveau cluster dans un parc, accédez à la section Enregistrement du parc, puis suivez les Google Cloud instructions de la console 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.
    5. Décochez les options Activer la mise à niveau automatique et Activer la réparation automatique.
  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. Vous pouvez également spécifier un compte de service IAM personnalisé pour vos nœuds :
    1. Dans la page Paramètres avancés, développez la section Sécurité.
    2. Dans le menu Compte de service, sélectionnez le compte de service de votre choix.

    Nous vous recommandons vivement de spécifier un compte de service IAM doté de privilèges minimaux que vos nœuds pourront utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté du moindre privilège, consultez la section Utiliser un compte de service doté du moindre privilège.

  14. Dans le volet de navigation, sous Cluster, cliquez sur Fonctionnalités.

  15. Cliquez sur Activer les fonctionnalités alpha Kubernetes dans ce cluster.

  16. Lisez et acceptez l'avertissement en sélectionnant J'ai compris les conséquences.

  17. Cliquez sur Créer.

gcloud

Exécutez la commande ci-dessous.

gcloud container clusters create CLUSTER_NAME \
    --release-channel=CHANNEL \
    --enable-kubernetes-alpha \
    --no-enable-autorepair \
    --no-enable-autoupgrade \
    --location CONTROL_PLANE_LOCATION [\
    --alpha-cluster-feature-gates FEATURE_GATES_LIST]

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom choisi pour le cluster.
  • CHANNEL : type de version disponible. Nous vous recommandons d'utiliser le canal rapide (rapid). Toutefois, si vous ne souhaitez pas enregistrer votre cluster dans un version disponible, vous pouvez utiliser None.
  • CONTROL_PLANE_LOCATION : emplacement Compute Engine du plan de contrôle de votre cluster. Indiquez une région pour les clusters régionaux ou une zone pour les clusters zonaux.
  • --cluster-version VERSION : (facultatif) spécifie la version de GKE à exécuter dans le cluster. Si cet élément n'est pas spécifié, le cluster exécute la version de correctif par défaut pour la création de cluster pour la version disponible sélectionnée, comme indiqué dans le tableau Versions actuelles.
  • FEATURE_GATES_LIST: liste des feature gates à activer ou à désactiver différemment des valeurs par défaut. Chaque chaîne représente l'activation ou la désactivation d'une feature gate. Exemple : featureX=true, featureY=false. Lorsque vous omettez cette option, GKE crée le cluster à l'aide des valeurs par défaut de GKE, ce qui signifie que toutes les feature gates alpha disponibles avec la version de Kubernetes sont activées. Les feature gates bêta activées par défaut par Kubernetes sont également activées. Pour en savoir plus sur les feature gates disponibles avec des versions spécifiques et sur les fonctionnalités bêta activées par défaut, consultez la section Feature gates pour les fonctionnalités alpha ou bêta dans la documentation de Kubernetes. Lorsque vous incluez cette option, vous modifiez les feature gates activées par rapport à la façon dont les feature gates sont définies par défaut par GKE. Pour en savoir plus, consultez la section Feature gates et clusters alpha .

Nous vous recommandons vivement de spécifier un compte de service IAM doté de privilèges minimaux que vos nœuds pourront utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté du moindre privilège, consultez la section Utiliser un compte de service doté du moindre privilège.

Pour spécifier un compte de service personnalisé dans la gcloud CLI, ajoutez l'option suivante à votre commande :

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Remplacez SERVICE_ACCOUNT_NAME par le nom de votre compte de service doté de privilèges minimaux.

Vous êtes invité à confirmer un avertissement indiquant que le cluster alpha ne sera pas mis à niveau et sera supprimé au bout de 30 jours :

This will create a cluster with Kubernetes alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
  not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.

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.

Vérifier l'état de la feature gate pour un cluster alpha

Avec les clusters alpha, vous pouvez activer ou désactiver sélectivement les feature gates. Pour en savoir plus, consultez la section Feature gates et clusters alpha.

Pour vérifier l'état de la feature gate de votre cluster, consultez la section Vérifier l'état de la feature gate.

Vérifier la date d'expiration d'un cluster alpha

Pour vérifier la date d'expiration des clusters alpha, exécutez la commande suivante :

gcloud container clusters list

Résoudre les problèmes de création d'un cluster alpha avec des feature gates

Si vous tentez de créer un cluster avec une feature gate non valide ou une feature gate non compatible avec la version Kubernetes de votre cluster, le cluster peut être créé dans un état d'erreur.

Vous trouverez un message semblable au suivant dans Cloud Logging :

failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME

Si vous rencontrez cette erreur, supprimez le cluster en échec. Vérifiez l'orthographe et la compatibilité des feature gates avec la version Kubernetes donnée. Réessayez ensuite de créer le cluster.

Étape suivante