Isolamento de computação

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.

  1. Adicione uma etiqueta (distype=ssd) no nó onde quer que os pods da sua aplicação sejam implementados.

    kubectl label nodes nodeid disktype=ssd 
  2. 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.

  3. Verifique se a etiqueta está configurada.

    kf configure-space get-nodeselector space-name
  4. 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.

  1. Edite o config-defaults do seu cluster Kf e adicione as etiquetas.

    $ kubectl -n kf edit configmaps config-defaults
    
  2. Adicione nodeSelector à definição dos conjuntos.

    .....
    .....
    spaceStacksV2: |
    - name:  cflinuxfs3
            image: cloudfoundry/cflinuxfs3
            nodeSelector:
                  OS_KERNEL: LINUX_4.4.1 
    .....
    .....