Les applications Kf peuvent être déployées sur des nœuds dédiés dans le cluster. Cette fonctionnalité est requise lorsque vous avez besoin d'un meilleur contrôle sur le choix du nœud dans lequel un pod d'application est placé. Exemple :
- Si vous partagez le même cluster pour différentes applications, mais que vous souhaitez utiliser des nœuds dédiés pour une application spécifique.
- Si vous souhaitez utiliser des nœuds dédiés pour une organisation donnée (espace Kf).
- Si vous souhaitez cibler un système d'exploitation spécifique tel que Windows.
- Si vous souhaitez colocaliser les pods de deux services différents qui communiquent fréquemment.
Pour activer l'isolation de calcul, Kf utilise nodeSelector Kubernetes. Pour utiliser cette fonctionnalité, commencez par ajouter des libellés sur les nœuds ou les pools de nœuds dans lesquels vous souhaitez que vos pods d'application soient placés, puis ajoutez les mêmes libellés d'éligibilité sur l'espace Kf. Toutes les applications installées dans cet espace seront placées sur les nœuds avec des libellés correspondants.
Configurer nodeSelector dans un cluster Kf
L'isolation de calcul est désactivée par défaut. Procédez comme suit pour configurer les libellés et nodeSelector.
Ajoutez un libellé (
distype=ssd
) sur le nœud dans lequel vous souhaitez que vos pods d'application arrivent.kubectl label nodes nodeid disktype=ssd
Ajoutez le même libellé dans l'espace Kf. Toutes les applications déployées dans cet espace atterrissent alors sur les nœuds éligibles.
kf configure-space set-nodeselector space-name disktype ssd
Vous pouvez ajouter plusieurs libellés en exécutant à nouveau la même commande.
Vérifiez que le libellé est configuré.
kf configure-space get-nodeselector space-name
Supprimez le libellé de l'espace.
kf configure-space unset-nodeselector space-name disktype
Ignorer la propriété nodeSelector pour les piles kf
Le déploiement des applications Kf peut être ciblé en fonction de la pile (buildpack) utilisée pour créer et empaqueter l'application. Par exemple, si vous souhaitez que vos applications créées avec spaceStacksV2
soient placées sur des nœuds dotés du noyau Linux 4.4.1. Les valeurs nodeSelector
d'une pile remplacent celles configurées dans l'espace.
Pour configurer nodeSelector
sur une pile, procédez comme suit :
Modifiez
config-defaults
de votre cluster Kf et ajoutez les libellés.$ kubectl -n kf edit configmaps config-defaults
Ajoutez
nodeSelector
à la définition des piles...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....