Cette page explique comment spécifier une configuration minimum de plate-forme de processeur pour les nœuds des clusters Google Kubernetes Engine (GKE).
Pourquoi choisir une configuration minimum de plate-forme de processeur ?
Spécifier une configuration minimum de plate-forme de processeur est utile si vous avez besoin de capacités et de spécifications de processeur spécifiques, telles qu'une fréquence de base élevée ou une fonctionnalité de gestion de l'alimentation optimisée.
Certaines charges de travail avancées et gourmandes en ressources de calcul, dans les domaines de l'animation, du jeu et de l'analyse, peuvent tirer parti des ensembles de fonctionnalités spécifiques de différentes plates-formes de processeur (par exemple, AVX-2 ou AVX-512). Le choix d'une plate-forme de processeur spécifique peut ainsi se traduire par une amélioration substantielle des temps d'exécution et des performances. En spécifiant une configuration minimum pour la plate-forme de processeur, vous permettez à vos charges de travail de bénéficier de ces améliorations de manière plus prévisible, et vous avez la certitude que vos nœuds n'utiliseront jamais une plate-forme de processeur inadaptée à leurs charges de travail.
Comment choisir une plate-forme
Le tableau suivant vous indique comment choisir une configuration minimum de plate-forme de processeur en fonction de la manière dont vous utilisez GKE :
Niveau d'accès | Description | Configuration de cluster compatible |
---|---|---|
Au niveau de la charge de travail (recommandé) | Choisissez une plate-forme minimale dans la spécification de votre pod. GKE planifie ces pods comme suit :
|
|
Au niveau du nœud et du cluster | Choisissez une configuration minimum de plate-forme de processeur lorsque vous créez un cluster ou un pool de nœuds en mode Standard. Ce paramètre n'est pas compatible avec le provisionnement automatique des nœuds. Pour obtenir des instructions, passez à la section Choisir une configuration minimale de plate-forme de processeur au niveau du pool de nœuds. | Nouveau cluster ou pool de nœuds Standard |
Tarifs
Vous pouvez choisir une configuration minimum de plate-forme de processeur sans frais supplémentaires.
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
.
Vérifier la disponibilité de la plate-forme de processeur
Les plates-formes de processeur disponibles varient en fonction de la zone de calcul dans laquelle vos nœuds s'exécutent. Vous devez vérifier quelles plates-formes de processeur sont disponibles dans une zone même si vous utilisez des clusters Autopilot ou des clusters Standard régionaux.
Pour vérifier les plates-formes disponibles dans une zone spécifique, exécutez la commande suivante :
gcloud compute zones describe COMPUTE_ZONE
Remplacez COMPUTE_ZONE
par le nom d'une zone, par exemple us-central1-a
. Si vous utilisez un type de cluster régional, spécifiez le nom d'une zone dans cette région.
Le résultat ressemble à ce qui suit :
availableCpuPlatforms:
- Intel Ice Lake
- Intel Cascade Lake
- Intel Skylake
- Intel Broadwell
- Intel Haswell
- Intel Ivy Bridge
- Intel Sandy Bridge
- AMD Milan
- AMD Rome
- Ampere Altra
- Intel Sapphire Rapids
Lorsque vous utilisez ces valeurs pour demander une configuration minimum de plate-forme de processeur, remplacez les espaces par des traits de soulignement dans le nom de la plate-forme. Par exemple, AMD_Milan
.
Sélectionner une configuration minimale de plate-forme de processeur au niveau de la charge de travail
Si vous utilisez des clusters GKE Autopilot ou des clusters GKE Standard avec provisionnement automatique des nœuds, vous pouvez choisir une configuration minimum de plate-forme de processeur dans la spécification de votre pod. Lorsque vous déployez la charge de travail, GKE ne planifie ces pods que sur les nœuds ayant la plate-forme spécifiée ou une version plus récente. Cette méthode est celle que nous recommandons.
Autopilot
Dans Autopilot, demandez une configuration minimum de plate-forme de processeur et une classe de calcul. La classe de calcul doit être compatible avec la plate-forme de processeur. Autopilot accepte la sélection d'une configuration minimale de plate-forme de processeur pour la classe de calcul Balanced
. Pour obtenir la liste des plates-formes de processeur disponibles dans chaque classe de calcul, consultez la section Quand utiliser des classes de calcul spécifiques.
Enregistrez le manifeste suivant sous le nom min-cpu.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/compute-class: "COMPUTE_CLASS"
supported-cpu-platform.cloud.google.com/PLATFORM: "true"
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Remplacez les éléments suivants :
PLATFORM
: nom de la plate-forme de processeur, par exempleAMD_Milan
. Le nom de la plate-forme est sensible à la casse et doit être délimité par des traits de soulignement.COMPUTE_CLASS
: nom de la classe de calcul, qui doit êtreBalanced
.
Standard
Dans les clusters Standard avec le provisionnement automatique des nœuds activé, demandez une plate-forme de processeur avec une famille de machines Compute Engine. La famille de machines doit être compatible avec la plate-forme de processeur. Pour obtenir la liste des plates-formes compatibles avec chaque famille de machines, consultez la section Plates-formes de processeur Compute Engine.
Enregistrez le manifeste suivant sous le nom min-cpu.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/machine-family: MACHINE_FAMILY
cloud.google.com/requested-min-cpu-platform: PLATFORM
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Remplacez les éléments suivants :
PLATFORM
: nom de la plate-forme de processeur, par exempleAMD_Milan
. Le nom de la plate-forme est sensible à la casse et doit être délimité par des traits de soulignement.MACHINE_FAMILY
: nom de la famille de machines, par exemplen2d
.
Déployer la charge de travail :
kubectl apply -f min-cpu.yaml
Les nœuds conservent la même plate-forme tout au long de leur cycle de vie, sauf si la plate-forme de processeur spécifiée est retirée, auquel cas vos nœuds seront exécutés sur une plate-forme plus récente.
Choisir une configuration minimum de plate-forme de processeur au niveau du pool de nœuds
Pour les clusters GKE Standard sans provisionnement automatique des nœuds, vous pouvez spécifier une configuration minimum de plate-forme de processeur lorsque vous créez un nouveau cluster ou un nouveau pool de nœuds. Vous ne devez utiliser cette approche que si vous ne pouvez pas utiliser le paramètre au niveau de la charge de travail. Ce paramètre n'affecte pas le provisionnement automatique des nœuds.
gcloud
Pour créer un pool de nœuds avec une configuration minimum de plate-forme de processeur en utilisant gcloud CLI, définissez l'option --min-cpu-platform
et spécifiez le nom de la plate-forme de processeur :
gcloud container node-pools create POOL_NAME \
--cluster CLUSTER_NAME \
--region COMPUTE_REGION \
--min-cpu-platform PLATFORM
Remplacez les éléments suivants :
POOL_NAME
: nom de votre nouveau pool de nœuds.CLUSTER_NAME
: nom du clusterCOMPUTE_REGION
: région du cluster.PLATFORM
: plate-forme de processeur que vous souhaitez exécuter dans le pool de nœuds, par exemple"Intel Broadwell"
.
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.
Cliquez sur add_box Ajouter un pool de nœuds.
Configurez le pool de nœuds selon vos préférences.
Dans le volet de navigation, cliquez sur Nœuds.
Sous Configuration de la machine, procédez comme suit :
Dans la liste déroulante Série, sélectionnez un type de machines.
Dans la liste déroulante Type de machine, sélectionnez Personnalisé.
Sélectionnez Cœurs et Mémoire selon vos besoins.
Cliquez sur expand_more Plate-forme du processeur et GPU.
Dans la liste déroulante Plate-forme du processeur, sélectionnez la plate-forme souhaitée.
Cliquez sur Créer.
API
Incluez la propriété minCpuPlatform
dans le champ nodeConfig
du corps de la requête. La valeur de minCpuPlatform
doit correspondre au nom de la plate-forme, tel que Intel Haswell
, Intel Broadwell
et Intel Sandy Bridge
.
Par exemple, la requête suivante crée un nouveau pool de nœuds exécutant la plate-forme Intel Broadwell :
POST https://container.googleapis.com/v1/projects/PROJECT_ID/regions/COMPUTE_REGION/clusters/CLUSTER_NAME/nodePools
{
'nodePool': {
'name': 'POOL_NAME',
'nodeConfig': {
'minCpuPlatform': 'Intel Broadwell'
...
}
...
}
}
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.COMPUTE_REGION
: région du cluster.CLUSTER_NAME
: nom du clusterPOOL_NAME
: nom de votre nouveau pool de nœuds.
Si vous spécifiez la plate-forme lorsque vous créez un cluster, le paramètre de configuration minimale de plate-forme de processeur s'applique au pool de nœuds par défaut du nouveau cluster.
Alternatives
GKE vous permet également de sélectionner la configuration minimum des plates-formes de processeur à l'aide des méthodes suivantes :
Alternatives | |
---|---|
Option au niveau du cluster Option |
Limites
Les limites suivantes s'appliquent à toutes les méthodes de sélection d'une configuration minimum de plate-forme de processeur :
- Toutes les limites de configurations minimum de plate-forme de processeur de Compute Engine s'appliquent.
- La disponibilité de plates-formes de processeur spécifiques varie selon les zones.
- Le type de machine E2 n'est pas compatible avec les configurations minimum de plate-forme de processeur. Vous devez sélectionner un autre type de machine.
- Les clusters Autopilot ne sont compatibles avec la sélection de plate-forme que pour la classe de calcul
Balanced
, et non pour les classes de calcul par défaut ouScale-Out
. - Si votre charge de travail Autopilot demande plus de 80 processeurs virtuels, la configuration minimum de plate-forme de processeur doit être Intel Ice Lake ou une version ultérieure. Si vous spécifiez une plate-forme moins avancée, votre pod peut rester indéfiniment à l'état
Pending
.
La limite suivante s'applique au paramètre de configuration minimum de plate-forme de processeur du cluster ou du pool de nœuds :
Si vous sélectionnez une configuration minimum de plate-forme de processeur moins avancée que la plate-forme de processeur par défaut dans la zone, ou si la plate-forme sélectionnée n'est plus disponible, GKE vérifie s'il existe une plate-forme plus récente au même coût. Si une plate-forme plus récente existe au même coût, GKE crée les nœuds à l'aide de cette nouvelle plate-forme. S'il n'existe pas de plate-forme plus récente au même coût, la création du cluster ou du pool de nœuds échoue.
Étapes suivantes
- Consultez la liste des plates-formes de processeur disponibles.
- Obtenez plus d'informations sur les régions et les zones.
- Obtenez plus d'informations sur les nœuds.