Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Schedule an application to a specified node

Dernière mise à jour :Aug 11, 2026

Utilisez les libellés de nœud et le champ nodeSelector pour diriger les pods vers des nœuds spécifiques dans votre cluster ACK. Par défaut, l'ordonnanceur Kubernetes place automatiquement les pods. Utilisez nodeSelector lorsque vos charges de travail ont des exigences matérielles particulières, par exemple des nœuds équipés de GPU pour des tâches d'apprentissage automatique, des nœuds avec SSD pour des bases de données à forte intensité d'E/S, ou des nœuds dédiés pour la colocalisation de services sensibles à la latence.

Le champ nodeSelector constitue la contrainte de planification la plus simple. Contrairement aux taints et tolerations, il n'empêche pas d'autres pods de s'exécuter sur le même nœud ; il contrôle uniquement l'emplacement des pods ciblés. Pour une isolation plus stricte ou des règles plus expressives, privilégiez l'affinité de nœud ou l'affinité inter-pod.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Étape 1 : Ajouter un libellé à un nœud

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, choisissez Nodes > Nodes.

  3. Dans l'angle supérieur droit de la page, cliquez sur Manage Labels and Taints. Sous l'onglet Labels, ajoutez un libellé au nœud cible. Dans cet exemple, définissez Name sur pod et Value sur nginx. Pour plus d'informations, consultez Créer et gérer des libellés de nœud.

Étape 2 : Déployer avec un nodeSelector

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, choisissez Workloads > Deployments.

  3. Sur la page Deployments, cliquez sur Create from YAML et appliquez le manifeste suivant. Le champ nodeSelector restreint les pods aux nœuds portant le libellé pod: nginx.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment-basic
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          nodeSelector:
            pod: nginx      # Pods are scheduled only to nodes with this label.
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
  4. Sur la page Deployments, cliquez sur le nom du Deployment. Sous l'onglet Pods, vérifiez la colonne des nœuds pour chaque pod. Tous les pods doivent s'exécuter sur des nœuds portant le libellé pod: nginx. Si un pod apparaît sur un autre nœud, vérifiez que le libellé du nœud a été correctement appliqué à l'étape 1.

Étapes suivantes