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=ssdAdicione 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 ssdAdicione vários rótulos executando o mesmo comando novamente.
Verifique se o rótulo está configurado.
kf configure-space get-nodeselector space-nameExclua 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-defaultsdo cluster do Kf e adicione os rótulos.$ kubectl -n kf edit configmaps config-defaultsAdicione
nodeSelectorà definição das pilhas...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....