Ativar o isolamento de computação

Os aplicativos do 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. Exemplo:

  • Se você estiver compartilhando o mesmo cluster para aplicativos diferentes, mas quiser nós dedicados para um aplicativo específico.
  • Se você quiser nós dedicados a uma determinada organização (espaço do Kf).
  • Se você quiser ter um sistema operacional específico como alvo, 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 espaço do Kf. Todos os aplicativos instalados nesse espaço 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 está desativado. Use o procedimento a seguir para configurar rótulos e o nodeSelector.

  1. Adicione um rótulo (distype=ssd) ao nó que você quer que os pods do aplicativo acessem.

    kubectl label nodes nodeid disktype=ssd
  2. Adicione o mesmo rótulo ao espaço do Kf. Todos os aplicativos implantados nesse espaço 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.

  3. Verifique se o rótulo está configurado.

    kf configure-space get-nodeselector space-name
  4. Exclua o rótulo do espaço.

    kf configure-space unset-nodeselector space-name disktype

Substituir nodeSelector para pilhas do Kf

A implantação de aplicativos do Kf pode ser ainda mais direcionada com base na pilha (buildpack) que está sendo usada para criar 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 uma pilha substituirão os valores configurados no espaço.

Para configurar o nodeSelector em uma pilha:

  1. Edite o config-defaults do cluster do Kf e adicione os rótulos.

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

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