Kf-Apps können auf dedizierten Knoten im Cluster bereitgestellt werden. Diese Funktion ist erforderlich, wenn Sie mehr Kontrolle über einen Knoten haben möchten, in dem ein App-Pod landet. Beispiel:
- Wenn Sie denselben Cluster für verschiedene Anwendungen freigeben, aber dedizierte Knoten für eine bestimmte Anwendung möchten.
- Wenn Sie dedizierte Knoten für eine bestimmte Organisation (Kf Space) möchten.
- Wenn Sie ein bestimmtes Betriebssystem wie Windows ansprechen möchten.
- Wenn Sie Pods von zwei verschiedenen Diensten, die häufig kommunizieren, bereitstellen möchten.
Für die Rechenisolation verwendet Kf den nodeSelector. Wenn Sie diese Funktion verwenden möchten, fügen Sie zuerst Labels auf den Knoten oder Knotenpools hinzu, auf denen Ihre App-Pods landen sollen, und fügen dann dieselben qualifizierenden Labels auf dem Kf Space hinzu. Alle Apps in diesem Space werden dann an die Knoten mit übereinstimmenden Labels gesendet.
nodeSelector in einem Kf-Cluster konfigurieren
Die Compute-Isolierung ist standardmäßig deaktiviert. Gehen Sie so vor, um Labels und nodeSelector zu konfigurieren.
Fügen Sie dem Knoten, auf dem Ihre Anwendungs-Pods landen sollen, ein Label (
distype=ssd
) hinzu.kubectl label nodes nodeid disktype=ssd
Fügen Sie im Kf Space dasselbe Label hinzu. Alle in diesem Space bereitgestellten Apps leiten dann die entsprechenden Knoten weiter.
kf configure-space set-nodeselector space-name disktype ssd
Sie können mehrere Labels hinzufügen, indem Sie den gleichen Befehl noch einmal ausführen.
Prüfen Sie, ob das Label konfiguriert ist.
kf configure-space get-nodeselector space-name
Löschen Sie das Label aus dem Space.
kf configure-space unset-nodeselector space-name disktype
nodeSelector für kf Stacks überschreiben
Die Bereitstellung von Kf-Apps kann noch weiter ausgerichtet werden, je nachdem, welcher Stack (Buildpack) zum Erstellen und Verpacken der Anwendung verwendet wird. Beispiel: Wenn Sie möchten, dass Ihre Anwendungen mit spaceStacksV2
auf Knoten mit Linux-Kernel 4.4.1 erstellt werden, überschreiben nodeSelector
-Werte die Werte auf einem Stack, die im Space konfiguriert wurden.
So konfigurieren Sie nodeSelector
in einem Stack:
Bearbeiten Sie die
config-defaults
Ihres Kf-Clusters und fügen Sie die Labels hinzu.$ kubectl -n kf edit configmaps config-defaults
Fügen Sie der Stackdefinition
nodeSelector
hinzu...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....