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 Apps nutzen, aber dedizierte Knoten für eine bestimmte App wünschen, wenn Sie dedizierte Knoten für eine bestimmte Organisation(Kf Space) wünschen, um ein bestimmtes Betriebssystem wie Windows anzusteuern, oder um Pods von zwei verschiedenen Diensten, die häufig kommunizieren, gemeinsam zu platzieren.
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 verschwendet 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. nodeSelector
-Werte auf einem Stack überschreiben die Werte, die im Space konfiguriert wurden.
Zum Konfigurieren von nodeSelector
in 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 ..... .....