As apps Kf podem ser implementadas em nós dedicados no cluster. Esta funcionalidade é necessária se tiver circunstâncias em que possa querer mais controlo num nó onde um pod de apps é implementado. Por exemplo, se estiver a partilhar o mesmo cluster para diferentes apps, mas quiser nós dedicados para uma app específica, se quiser nós dedicados para uma determinada organização(Kf Space), segmentar um sistema operativo específico, como o Windows, ou colocar pods de dois serviços diferentes que comunicam frequentemente.
Para ativar o isolamento de computação, o Kf usa o nodeSelector do Kubernetes. Para usar esta funcionalidade, adicione primeiro etiquetas nos nós ou nos conjuntos de nós onde quer que os seus pods de apps aterrem e, em seguida, adicione as mesmas etiquetas de qualificação no espaço Kf. Todas as apps instaladas neste espaço vão ser apresentadas nos nós com etiquetas correspondentes.
Configurar o nodeSelector num cluster do Kf
Por predefinição, o isolamento de computação está desativado. Use o procedimento seguinte para configurar etiquetas e nodeSelector.
Adicione uma etiqueta (
distype=ssd
) no nó onde quer que os pods da sua aplicação sejam implementados.kubectl label nodes nodeid disktype=ssd
Adicione a mesma etiqueta no espaço Kf. Todas as apps implementadas neste espaço serão instaladas nos nós elegíveis.
kf configure-space set-nodeselector space-name disktype ssd
Pode adicionar várias etiquetas executando o mesmo comando novamente.
Verifique se a etiqueta está configurada.
kf configure-space get-nodeselector space-name
Eliminar a etiqueta do espaço.
kf configure-space unset-nodeselector space-name disktype
Substitua o nodeSelector para kf Stacks
A implementação de apps do Kf pode ser ainda mais segmentada com base no que o Stack (buildpack) está a ser usado para criar e embalar a app. Por exemplo, se quiser que as suas aplicações criadas com spaceStacksV2
sejam implementadas em nós com o kernel Linux 4.4.1. Os valores nodeSelector
num conjunto substituem os valores configurados no espaço.
Para configurar o nodeSelector
no Stack.
Edite o
config-defaults
do seu cluster Kf e adicione as etiquetas.$ kubectl -n kf edit configmaps config-defaults
Adicione
nodeSelector
à definição dos conjuntos...... ..... spaceStacksV2: | - name: cflinuxfs3 image: cloudfoundry/cflinuxfs3 nodeSelector: OS_KERNEL: LINUX_4.4.1 ..... .....