Créer des clusters et des pools de nœuds standards avec des nœuds Arm


Cette page explique comment créer un cluster ou un pool de nœuds GKE Standard avec des nœuds Arm afin de pouvoir exécuter des charges de travail Arm sur Google Kubernetes Engine (GKE). Pour savoir comment déployer des charges de travail Arm sur des clusters Autopilot, consultez la section Déployer des charges de travail Autopilot sur l'architecture Arm.

Vous pouvez créer des clusters avec des nœuds Arm à l'aide de la série de machines C4A ou de la série de machines Tau T2A. Pour en savoir plus sur les avantages d'Arm et choisir la meilleure série de machines pour vos charges de travail, consultez la section VM Arm sur Compute.

GKE vous permet de créer un cluster comportant des pools de nœuds avec un type d'architecture (par exemple, Arm) ou plusieurs types d'architecture (par exemple, Arm et x86). Lorsque vous exécutez des nœuds avec plusieurs types d'architecture, vous pouvez déployer des charges de travail entre plusieurs architectures sur le même cluster.

Cette page est destinée aux opérateurs et aux développeurs qui provisionnent et configurent des ressources cloud et déploient des charges de travail. Pour en savoir plus sur les rôles courants, consultez la section Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.

Avant de lire cette page, familiarisez-vous avec les charges de travail Arm sur GKE.

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.

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. Ces comptes de service de nœud doivent au minimum 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, comme 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 Bienvenue:

    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 à 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 Select a role (Sélectionner un rôle), sélectionnez 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[email protected]" \
        --role="roles/container.defaultNodeServiceAccount"

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

Créer un cluster avec un pool de nœuds Arm

Les instructions suivantes expliquent comment créer un cluster avec un pool de nœuds exécutant des nœuds Arm à partir de la série de machines C4A ou de la série de machines Tau T2A.

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

gcloud

Créez un cluster zonal avec le pool de nœuds par défaut à l'aide de nœuds Arm:

gcloud container clusters create CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES

Remplacez les éléments suivants :

  • CLUSTER_NAME: nom de votre nouveau cluster avec un pool de nœuds Arm.
  • 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. La région ou la zone sélectionnée doit être l'une des zones disponibles pour la série de machines Arm que vous choisissez.
  • NODE_LOCATIONS: les zones de votre pool de nœuds, telles que us-central1-a. Vous devez choisir parmi les zones disponibles pour la série de machines Arm ou la création du pool de nœuds peut échouer.
  • ARM_MACHINE_TYPE: l'une des formes de machines C4A ou de machines T2A disponibles, telles que c4a-standard-8 ou t2a-standard-16.
  • NUM_NODES: nombre de nœuds de votre pool de nœuds Arm.

Nous vous recommandons vivement de spécifier un compte de service IAM doté de privilèges minimaux que vos nœuds peuvent utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté de privilèges minimaux, 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'indicateur suivant à votre commande:

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

Remplacez SERVICE_ACCOUNT_NAME par le nom de votre compte de service à privilèges limités.

Si vous souhaitez définir des paramètres supplémentaires pour votre cluster, consultez la documentation de référence sur gcloud container clusters create pour obtenir la liste complète des paramètres disponibles lors de la création du cluster.

Console

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

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

  2. Configurez votre cluster. Pour en savoir plus, consultez les instructions Créer un cluster zonal ou Créer un cluster régional.

  3. Choisissez un emplacement où les nœuds Arm sont disponibles.

    1. Dans la section Paramètres de base du cluster, sous Type d'emplacement, sélectionnez Zonal ou Régional:
    2. Dans le menu déroulant, choisissez la zone ou la région où les nœuds Arm sont disponibles.
    3. Cochez la case Spécifier les emplacements de nœud par défaut. Sélectionnez la ou les zones où les nœuds Arm sont disponibles.
  4. Pour sélectionner un type de machine Arm, procédez comme suit : dans la sous-section Nœuds, sousConfigurez les paramètres du nœud > Configuration de la machine > Famille de machines, sélectionnez USAGE GÉNÉRAL. Dans le menu déroulant Série, sélectionnez C4A ou T2A. Dans le menu déroulant Type de machine, choisissez l'une des options disponibles.

  5. Vous pouvez également spécifier un compte de service IAM personnalisé pour vos nœuds :
    1. Sur 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 peuvent utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté de privilèges minimaux, consultez la section Utiliser un compte de service doté du moindre privilège.

  6. Cliquez sur Créer.

Terraform

Pour créer un cluster zonal avec le pool de nœuds par défaut en utilisant des nœuds Arm à l'aide de Terraform, reportez-vous à l'exemple suivant:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-arm-cluster"
  location           = "us-central1-a"
  node_locations     = ["us-central1-b", "us-central1-f"]
  initial_node_count = 2

  node_config {
    machine_type    = "t2a-standard-1"
    service_account = google_service_account.default.email
  }
}

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

Ajouter un pool de nœuds Arm à un cluster GKE

Vous pouvez ajouter un pool de nœuds à un cluster GKE Standard à l'aide de gcloud CLI, de la console Google Cloud ou de Terraform.

Pour créer un cluster GKE à l'aide de n'importe quel type de nœuds, nous vous recommandons de créer et d'utiliser un compte de service de Identity and Access Management (IAM) avec des privilèges minimaux pour vos pools de nœuds, plutôt que le compte de service Compute Engine par défaut.

Pour savoir comment créer un compte de service doté de privilèges minimaux, consultez la page Renforcer la sécurité d'un cluster.

gcloud

Ajoutez un pool de nœuds Arm à un cluster existant:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES \
    --service-account SERVICE_ACCOUNT

Remplacez les éléments suivants :

  • NODE_POOL_NAME: nom du nouveau pool de nœuds Arm pour votre cluster existant.
  • 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_NAME: nom du cluster dans lequel vous souhaitez ajouter un pool de nœuds Arm.
  • NODE_LOCATIONS: les zones de votre pool de nœuds, telles que us-central1-a. Vous devez choisir parmi les zones disponibles pour la série de machines Arm ou la création du pool de nœuds peut échouer.
  • ARM_MACHINE_TYPE: l'une des formes de machines C4A ou de machines T2A disponibles, telles que c4a-standard-8 ou t2a-standard-16.
  • NUM_NODES: nombre de nœuds de votre pool de nœuds Arm.

Nous vous recommandons vivement de spécifier un compte de service IAM doté de privilèges minimaux que vos nœuds peuvent utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté de privilèges minimaux, 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'indicateur suivant à votre commande:

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

Remplacez SERVICE_ACCOUNT_NAME par le nom de votre compte de service à privilèges limités.

Si vous souhaitez définir des paramètres supplémentaires pour votre pool de nœuds, consultez la documentation de référence sur gcloud container node-pools create pour obtenir la liste complète des paramètres disponibles lors de la création du pool de nœuds.

Console

Pour ajouter un pool de nœuds Arm à un cluster existant, procédez comme suit:

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

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.

  3. Cliquez sur Ajouter un pool de nœuds.

  4. Configurez votre pool de nœuds.

  5. Choisissez les emplacements de nœuds où les nœuds Arm sont disponibles.

    1. Dans la section Détails du pool de nœuds, cochez la case Spécifier les emplacements de nœud.
    2. Sélectionnez la ou les zones où les nœuds Arm sont disponibles.
  6. Pour sélectionner un type de machine Arm, procédez comme suit : dans la sous-section Nœuds, sousConfigurer les paramètres du nœud > Configuration de la machine > Famille de machines, sélectionnez USAGE GÉNÉRAL. Dans le menu déroulant Série, sélectionnez C4A ou T2A. Dans le menu déroulant Type de machine, choisissez l'une des options disponibles.

  7. Dans le menu de navigation, cliquez sur Sécurité.

  8. Vous pouvez également spécifier un compte de service IAM personnalisé pour vos nœuds :
    1. Sur 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 peuvent utiliser à la place du compte de service Compute Engine par défaut. Pour savoir comment créer un compte de service doté de privilèges minimaux, consultez la section Utiliser un compte de service doté du moindre privilège.

  9. Cliquez sur Créer pour ajouter le pool de nœuds.

Terraform

Pour ajouter un pool de nœuds utilisant des nœuds Arm à un cluster existant à l'aide de Terraform, consultez l'exemple suivant:

resource "google_container_node_pool" "default" {
  name           = "gke-standard-zonal-arm-node-pool"
  cluster        = google_container_cluster.default.id
  node_locations = ["us-central1-a"]
  node_count     = 1

  node_config {
    machine_type = "t2a-standard-1"

    service_account = google_service_account.default.email
  }
}

Remplacez google_container_cluster.default.id par le nom de votre cluster.

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

Étapes suivantes