Anula la densidad de Pods para un grupo de nodos

Puedes configurar la densidad de Pods para grupos de nodos individuales para anular la configuración de todo el clúster, lo que te ayuda a mejorar la eficiencia de los recursos. Esta capacidad es útil para grupos de nodos especializados, como nodos con GPU, en los que los requisitos de carga de trabajo o la asignación eficiente de direcciones IP requieren un valor diferente para la cantidad máxima de Pods por nodo.

Antes de comenzar

La capacidad de especificar la densidad de Pods para los grupos de nodos solo está disponible para los clústeres con una de las siguientes configuraciones de red:

Configura la densidad de Pods para un grupo de nodos

Configura la densidad de Pods dentro de la especificación NodePool para anular la configuración a nivel del clúster. Esta configuración es opcional. El sistema deriva el tamaño del rango CIDR asignado al nodo a partir del parámetro de cantidad máxima de Pods por nodo.

La configuración de maxPodsPerNode es inmutable después de la creación del grupo de nodos. El sistema valida el parámetro de configuración maxPodsPerNode para garantizar que haya suficientes direcciones IP para los nodos del grupo de nodos. Esta validación usa una vinculación de etiquetas estricta, en la que un ClusterCIDRConfig se vincula a un grupo de nodos con un selector de nodos. Puedes omitir esta validación configurando la anotación baremetal.cluster.gke.io/skip-pod-cidr-size-check en el CR del clúster o a nivel del NodePool.

  1. Crea un recurso ClusterCIDRConfig

    Este recurso se vincula a un NodePool específico con un selector de nodos.

    apiVersion: networking.gke.io/v1alpha1
    kind: ClusterCIDRConfig
    metadata:
      name: my-nodepool-cidr-config
    spec:
      nodeSelector:
        matchLabels:
          baremetal.cluster.gke.io/node-pool: NODE_POOL_NAME
      # ... other CIDR config fields (e.g., podCIDR, perNodeMaskSize)
    

    Reemplaza NODE_POOL_NAME por el nombre de tu NodePool.

  2. Crea el grupo de nodos con la densidad de Pods anulada.

    Especifica el campo nodeConfigOverride en la definición de NodePool. Este campo contiene la configuración de podDensity.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: NODEPOOL_NAME
      namespace: CLUSTER_NAMESPACE
    spec:
      cluster: CLUSTER_NAME
      nodeConfigOverride:
        podDensity:
          maxPodsPerNode: MAX_PODS_PER_NODE
      # ... other NodePoolSpec fields like nodeCount, taints, labels etc. ...
    

    Reemplaza lo siguiente:

    • NODEPOOL_NAME: Es el nombre del recurso del grupo de nodos cuyo valor máximo de Pods por nodo anularás.

    • CLUSTER_NAMESPACE: Es el espacio de nombres del clúster en el que reside el grupo de nodos.

    • CLUSTER_NAME: Es el nombre del clúster en el que anulas la configuración del grupo de nodos.

    • MAX_PODS_PER_NODE: Es la cantidad máxima de Pods que puedes ejecutar en un solo nodo del grupo de nodos especificado.

¿Qué sigue?