Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Programar una aplicación en un nodo específico

Última actualización: Sep 04, 2026

Use etiquetas de nodo y nodeSelector para dirigir los pods a nodos específicos en su clúster de ACK. De forma predeterminada, el programador de Kubernetes coloca los pods automáticamente. Use nodeSelector cuando las cargas de trabajo tengan requisitos de hardware específicos; por ejemplo, nodos con GPU para tareas de aprendizaje automático, nodos con SSD para bases de datos con uso intensivo de E/S o nodos dedicados para la coubicación de servicios sensibles a la latencia.

nodeSelector es la restricción de programación más sencilla. A diferencia de los taints y las tolerancias, no impide que otros pods se ejecuten en el mismo nodo; solo controla dónde pueden ubicarse los pods objetivo. Para lograr un aislamiento más estricto o reglas más expresivas, use afinidad de nodo o afinidad entre pods.

Requisitos previos

Antes de empezar, asegúrese de contar con:

Paso 1: Etiquetar un nodo

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, elija Nodes > Nodes.

  3. En la esquina superior derecha de la página, haga clic en Manage Labels and Taints. En la pestaña Labels, agregue una etiqueta al nodo de destino. En este ejemplo, establezca Name como pod y Value como nginx. Para obtener más información, consulte Create and manage node labels.

Paso 2: Desplegar con nodeSelector

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, elija Workloads > Deployments.

  3. En la página Deployments, haga clic en Create from YAML y aplique el siguiente manifiesto. El campo nodeSelector restringe los pods a los nodos que tienen la etiqueta 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. En la página Deployments, haga clic en el nombre del Deployment. En la pestaña Pods, revise la columna de nodo correspondiente a cada pod. Todos los pods deben ejecutarse en nodos que tengan la etiqueta pod: nginx. Si un pod muestra un nodo diferente, compruebe que la etiqueta de nodo se aplicó correctamente en el Paso 1.

Pasos siguientes