Aislamiento de procesamiento

Las aplicaciones de Kaf se pueden implementar en nodos dedicados en el clúster. Esta función es obligatoria si tienes circunstancias en las que es posible que desees tener más control sobre un nodo al que llega un pod de apps. Por ejemplo, si compartes un mismo clúster para apps diferentes, pero deseas nodos dedicados para una app en particular, si deseas nodos exclusivos para una organización determinada (Kf Space), a fin de orientarte a un sistema operativo específico, como Windows, o a fin de ubicar de forma conjunta pods de dos servicios diferentes que se comunican con frecuencia.

Para habilitar el aislamiento de procesamiento, Kf usa nodeSelector de Kubernetes. Para usar esta función, primero agrega etiquetas en los nodos o los grupos de nodos en los que quieres que lleguen los pods de la app y, luego, agrega las mismas etiquetas aptas en el espacio de Kf. Todas las apps instaladas en este espacio llegan a los nodos con etiquetas coincidentes.

Configura nodeSelector en un clúster de Kf

El aislamiento de procesamiento está inhabilitado de forma predeterminada. Usa el siguiente procedimiento para configurar etiquetas y nodeSelector.

  1. Agrega una etiqueta (distype=ssd) en el nodo al que quieres dirigir los Pods de tu aplicación.

    kubectl label nodes nodeid disktype=ssd 
    
  2. Agrega la misma etiqueta en el espacio de Kf. Todas las aplicaciones implementadas en este espacio llegarán a los nodos aptos.

    kf configure-space set-nodeselector space-name disktype ssd
    

    Para agregar varias etiquetas, ejecuta de nuevo el mismo comando.

  3. Verifica que la etiqueta esté configurada.

    kf configure-space get-nodeselector space-name
    
  4. Borra la etiqueta del espacio.

    kf configure-space unset-nodeselector space-name disktype
    

Anula nodeSelector para pilas de Kf

La implementación de aplicaciones de Kf aún se puede determinar según qué pila se usa para compilar y empaquetar la aplicación. Por ejemplo, si deseas que tus aplicaciones compiladas con spaceStacksV2 se dirijan a nodos con el kernel 4.4.1 de Linux. Los valores nodeSelector de una pila anularán los valores configurados en el espacio.

Para configurar nodeSelector en la pila.

  1. Edita los config-defaults de tu clúster de Kf y agrega las etiquetas.

    $ kubectl -n kf edit configmaps config-defaults
    
  2. Agrega nodeSelector a la definición de las pilas.

    .....
    .....
    spaceStacksV2: |
    - name:  cflinuxfs3
            image: cloudfoundry/cflinuxfs3
            nodeSelector:
                  OS_KERNEL: LINUX_4.4.1
    .....
    .....