Os aplicativos Kf podem ser implantados em nós dedicados no cluster. Esse recurso é obrigatório se você tiver circunstâncias em que queira ter mais controle sobre um nó que recebe um pod de aplicativo. Por exemplo, se você estiver compartilhando um mesmo cluster para aplicativos diferentes, mas quiser que nós dedicados para um determinado aplicativo, se quiser nós dedicados para uma determinada organização (Kf Space), segmentem um sistema operacional específico como o Windows ou colocalizem pods de dois serviços diferentes que se comunicam com frequência.
Para ativar o isolamento de computação, o Kf usa o nodeSelector do Kubernetes. Para usar esse recurso, primeiro adicione rótulos aos nós ou pools de nós que você quer que os pods de aplicativos acessem e adicione os mesmos rótulos qualificados ao Kf Space. Todos os aplicativos instalados nesse Space serão colocados nos nós com rótulos correspondentes.
Como configurar nodeSelector em um cluster do Kf
Por padrão, o isolamento de computação fica desativado. Use o procedimento a seguir para configurar rótulos e o nodeSelector.
Adicione um rótulo (
distype=ssd
) ao nó que você quer que os pods do aplicativo acessem.kubectl label nodes nodeid disktype=ssd
Adicione o mesmo rótulo ao Kf Space. Todos os aplicativos implantados nesse Space são acessados nos nós qualificados.
kf configure-space set-nodeselector space-name disktype ssd
Adicione vários rótulos executando o mesmo comando novamente.
Verifique se o rótulo está configurado.
kf configure-space get-nodeselector space-name
Exclua o rótulo do Space.
kf configure-space unset-nodeselector space-name disktype
Modificar nodeSelector para kf Stacks
A implantação de aplicativos Kf pode ser ainda mais fundamentada com base no Stack (buildpack) que está sendo usado para compilar e empacotar o aplicativo. Por exemplo, se você quiser que os aplicativos criados com spaceStacksV2
acessem nós com o kernel do Linux 4.4.1. Os valores nodeSelector
em um Stack substituirão os valores configurados no Space.
Para configurar o nodeSelector
no Stack.
Edite o
config-defaults
do cluster do Kf e adicione os rótulos.$ kubectl -n kf edit configmaps config-defaults
Adicione
nodeSelector
à definição das pilhas...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....