Rechenisolation aktivieren

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.

  1. Fügen Sie dem Knoten, auf dem Ihre Anwendungs-Pods landen sollen, ein Label (distype=ssd) hinzu.

    kubectl label nodes nodeid disktype=ssd
  2. 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.

  3. Prüfen Sie, ob das Label konfiguriert ist.

    kf configure-space get-nodeselector space-name
  4. 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:

  1. Bearbeiten Sie die config-defaults Ihres Kf-Clusters und fügen Sie die Labels hinzu.

    $ kubectl -n kf edit configmaps config-defaults
    
  2. Fügen Sie der Stackdefinition nodeSelector hinzu.

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