Il deployment di Kf Apps può avvenire su nodi dedicati nel cluster. Questa funzionalità è necessaria se hai le circostanze in cui potresti volere su un nodo in cui si installa un pod di app. Ad esempio:
- Se condividi lo stesso cluster per app diverse ma vuoi una nodi per una particolare app.
- Se vuoi nodi dedicati per una determinata organizzazione (Kf Space).
- Se vuoi scegliere come target un sistema operativo specifico, come Windows.
- Se vuoi co-localizzare i pod di due servizi diversi che spesso comunicare.
Per abilitare l'isolamento del calcolo, Kf utilizza nodeSelector di Kubernetes. A usa questa funzionalità, aggiungi prima etichette sui nodi o sui pool di nodi in cui i tuoi pod di app per arrivare e poi aggiungere le stesse etichette di qualificazione su Kf Space. Tutte le app installate in questo spazio si trovano quindi sui nodi con etichette corrispondenti.
Configura nodeSelector in un cluster Kf
Per impostazione predefinita, l'isolamento del calcolo è disabilitato. Utilizza la seguente procedura per configurare le etichette e nodeSelector.
Aggiungi un'etichetta (
distype=ssd
) sul nodo in cui vuoi che vengano inseriti i pod dell'applicazione terra.kubectl label nodes nodeid disktype=ssd
Aggiungi la stessa etichetta allo spazio Kf. Tutte le app di cui è stato eseguito il deployment in questo spazio arriverà quindi ai nodi idonei.
kf configure-space set-nodeselector space-name disktype ssd
Puoi aggiungere più etichette eseguendo di nuovo lo stesso comando.
Verifica che l'etichetta sia configurata.
kf configure-space get-nodeselector space-name
Elimina l'etichetta dallo spazio.
kf configure-space unset-nodeselector space-name disktype
Esegui l'override di nodeSelector per gli stack Kf
Deployment delle app Kf può essere ulteriormente mirata in base
sullo stack (buildpack) utilizzato per creare e pacchettizzare l'app. Per
Ad esempio, se vuoi che le tue applicazioni create con spaceStacksV2
vengano indirizzate
con kernel Linux 4.4.1., I valori nodeSelector
in uno stack sostituiscono il valore
i valori configurati sullo spazio.
Per configurare nodeSelector
in uno stack:
Modifica
config-defaults
del cluster Kf e aggiungi le etichette.$ kubectl -n kf edit configmaps config-defaults
Aggiungi
nodeSelector
alla definizione degli stack...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....