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 o mesmo cluster para apps diferentes, mas quiser nós dedicados para um app específico.
- Se você quiser nós dedicados a uma determinada organização (Kf Space).
- Se você quiser segmentar um sistema operacional específico, como o Windows.
- Se você quiser colocar os 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.
Configurar o 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
Substituir 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
em uma pilha:
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 ..... .....