Rechenisolation

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 Kubernetes-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 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.

  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
    .....
    .....