Las aplicaciones de Kf se pueden implementar en nodos dedicados del clúster. Esta función es necesaria si quieres tener más control sobre un nodo en el que se coloca un pod de aplicación. Por ejemplo:
- Si compartes el mismo clúster para diferentes aplicaciones, pero quieres nodos dedicados para una aplicación concreta.
- Si quieres nodos dedicados para una organización determinada (espacio de Kf).
- Si quieres segmentar por un sistema operativo concreto, como Windows.
- Si quieres colocar conjuntamente pods de dos servicios diferentes que se comuniquen con frecuencia.
Para habilitar el aislamiento de computación, Kf usa nodeSelector de Kubernetes. Para usar esta función, primero añada etiquetas a los nodos o grupos de nodos en los que quiera que se coloquen sus pods de aplicaciones y, a continuación, añada las mismas etiquetas de calificación al espacio de Kf. Todas las aplicaciones instaladas en este espacio se colocarán en los nodos con etiquetas coincidentes.
Configurar nodeSelector en un clúster de Kf
De forma predeterminada, el aislamiento de computación está inhabilitado. Sigue este procedimiento para configurar etiquetas y nodeSelector.
Añade una etiqueta (
distype=ssd
) al nodo en el que quieras que se coloquen los pods de tu aplicación.kubectl label nodes nodeid disktype=ssd
Añade la misma etiqueta en el espacio de Kf. Todas las aplicaciones implementadas en este espacio se colocarán en los nodos aptos.
kf configure-space set-nodeselector space-name disktype ssd
Puedes añadir varias etiquetas volviendo a ejecutar el mismo comando.
Comprueba que la etiqueta esté configurada.
kf configure-space get-nodeselector space-name
Elimina la etiqueta del espacio.
kf configure-space unset-nodeselector space-name disktype
Anular nodeSelector para pilas de Kf
La implementación de aplicaciones de Kf se puede orientar aún más en función de la pila (paquete de compilación) que se utilice para compilar y empaquetar la aplicación. Por ejemplo, si quieres que tus aplicaciones compiladas con spaceStacksV2
se implementen en nodos con el kernel de Linux 4.4.1, Los valores de nodeSelector
de una pila anulan los valores configurados en el espacio.
Para configurar nodeSelector
en una pila, sigue estos pasos:
Edita el
config-defaults
de tu clúster de Kf y añade las etiquetas.$ kubectl -n kf edit configmaps config-defaults
Añade
nodeSelector
a la definición de pilas...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....