Designando hosts com designação automática de rótulo do host

Os hosts são automaticamente atribuídos a grupos de workers em clusters ou em serviços do IBM Cloud habilitados para o Satellite, utilizando rótulos de host para corresponder à capacidade de computação disponível. Você pode ativar ou desativar a atribuição automática.

A atribuição automática do host não está disponível para o plano de controle de localização do Satellite.

Rótulos do host

A atribuição automática de hosts corresponde aos rótulos do pool de trabalhadores nos clusters do Satellite aos rótulos de host e zona nos hosts disponíveis.

Tenha em mente as informações a seguir sobre os rótulos de host que são usados para atribuição automática.

Rótulos de host padrão
Ao anexar um host a um local do Satellite, o host obtém rótulos automaticamente para cpu, os e memory (em bytes). Não é possível remover esses rótulos. É possível incluir rótulos de host adicionais ou atualizar os metadados do host posteriormente. Se o host não incluir o rótulo os, ele será assumido automaticamente como RHEL7.
Os hosts podem ter mais rótulos do que conjuntos de trabalhadores
Por exemplo, um host com os rótulos de h cpu, memory e env pode ser automaticamente atribuído a um pool de trabalhadores que tenha apenas o rótulo de host cpu. A designação automática de host corresponde aos rótulos cpu. O contrário não funciona: se um conjunto de trabalhadores tiver mais rótulos do que um host, o host não poderá ser automaticamente atribuído ao conjunto de trabalhadores.
A correspondência é exata
As rótulos de host devem ser exatamente iguais (=) uns aos outros Mesmo que o rótulo do host seja um número, não menos do que (<), maior que (>), ou outros operadores são usados para correspondência.

Cenário de exemplo para atribuição automática de host

Digamos que você tenha um cluster do Satellite com um conjunto de trabalhadores default em us-east-1a e os seguintes rótulos de host.

  • cpu=4
  • env=prod
  • os=RHEL7

A sua localização do Satellite tem hosts disponíveis (não designados) com rótulos de host conforme a seguir.

  • Host A: cpu=4, memory=32, env=prod, zone=us-east-1b os=rhel
  • Host B: cpu=4, memory=32, zone=us-east-1a os=RHEL7
  • Host C: cpu=4, memory=64, env=prod os=RHEL7
  • Apresentador D: cpu=4, memory=64, env=prod os=RHCOS ( Red Hat CoreOS )

Se você redimensionar o conjunto de trabalhadores default para solicitar mais três nós do trabalhador, somente o Host C poderá ser designado automaticamente, mas não o Host A ou o Host B.

  • O host A atende às solicitações de rótulos da unidade central de processamento (CPU) e d env=prod, mas só pode ser atribuído em us-east-1b. Como o conjunto de trabalhadores default está apenas em us-east-1a, o Host A não é designado.
  • O host B atende às solicitações de CPU e de zona. No entanto, o host não tem o rótulo env=prod e, portanto, não é designado.
  • O host C é designado automaticamente porque corresponde aos rótulos de host cpu=4 e env=prod e não tem nenhuma restrição de zona. O rótulo de host memory=64 não é considerado, pois o conjunto de trabalhadores não solicita um rótulo memory.
  • O host D atende às solicitações de rótulo de CPU, zona e env=prod, mas não atende à solicitação os de RHEL7 e, portanto, não é designado.

Os hosts devem ser designados como nós do trabalhador em cada zona do conjunto de trabalhadores padrão em seu cluster. Se seu conjunto de trabalhadores padrão abranger várias zonas, assegure-se de ter hosts com rótulos correspondentes que possam ser designados em cada zona.

Designando hosts automaticamente

IBM Cloud Satellite atribui automaticamente hosts a grupos de workers em clusters que solicitam capacidade de computação, utilizando rótulos de host como cpu.

Antes de iniciar, certifique-se de criar um cluster do Satellite. Se você criar um cluster na CLI, deverá especificar a opção --workers com o número de hosts que deseja designar automaticamente. Em seguida, certifique-se de conectar hosts ao local do Satellite, mas não designe os hosts a nenhum recurso.

  1. Revise os rótulos de host que os conjuntos de trabalhadores usam para solicitar a capacidade de cálculo. Você tem várias opções.

    • Criar um conjunto de trabalhadores em um cluster do Satellite com os rótulos de host que você deseja utilizar para a atribuição automática.
    • Revise os conjuntos de trabalhadores existentes para seus rótulos de host. Observe que não é possível atualizar os rótulos de host que um conjunto de trabalhadores tem. É possível revisar os Rótulos do host executando o comando ibmcloud oc worker-pool get -c <cluster> --worker-pool <worker_pool>.
    • Revise os rótulos de host que um cluster de serviços IBM Cloud ativado pelo Satellite usa para solicitar recursos por meio do console da instância de serviço IBM Cloud ativada pelo Satellite.
  2. Revise os rótulos de host que seus hosts disponíveis têm. Lembre-se de que os hosts obtêm automaticamente os rótulos cpu e memory ao anexar o host em sua localização do Satellite.

    1. Obtenha o nome da localização do Satellite.
        ibmcloud sat location ls
        ```
    2. Liste os hosts disponíveis (não designados) em sua localização e anote os IDs dos hosts para os quais você deseja verificar os rótulos.
    ```sh {: pre}
        ibmcloud sat host ls --location LOCATION_NAME_OR_ID | grep unassigned
        ```
    3. Para cada host que você deseja verificar, obtenha os detalhes do host e anote os **Rótulos** na saída.
    ```sh {: pre}
        ibmcloud sat host get --location LOCATION_NAME_OR_ID --host HOST_NAME_OR_ID
        ```
        Exemplo de saída
        ```sh {: screen}
        ...
        Labels      
        app      webserver   
        cpu      4   
        memory   3874564
        os       RHCOS
        ...
        ```
    
  3. Atualize os rótulos de seu host disponível para corresponder com todos os rótulos do conjunto do trabalhadores aos quais deseja que o host esteja disponível para atribuição automática. Opcionalmente, é possível especificar uma zona para certificar-se de que o host seja designado automaticamente somente a essa zona.

    Os rótulos cpu, os e memory no host são aplicados automaticamente e não podem ser editados.

    ibmcloud sat host update --location <location_name_or_ID> --host <host_name_or_ID> -hl <key=value> [-hl <key=value>] [--zone <zone1>]
    

Desativando a atribuição automática do host

As ações a seguir desativam a atribuição automática de host para um conjunto de trabalhadores. Posteriormente, é possível reativar a atribuição automática de host.

Reativando a atribuição automática do host

Se você desativou a atribuição automática de host, poderá ativá-la novamente.

  1. Certifique-se de que você tenha hosts disponíveis com rótulos que correspondam aos rótulos de host do conjunto de trabalhadores.
  2. Redimensione o conjunto de trabalhadores para configurar o tamanho solicitado por zona, rebalancear o conjunto do trabalhadores e ativar a designação automática novamente.

Para clusters do tipo “ Satellite ”, não utilize o comando ibmcloud oc worker-pool rebalance caso tenha atribuído manualmente nós de trabalho ao seu pool de trabalhadores. O reequilíbrio de um pool com nós de trabalho atribuídos manualmente remove um número maior do que o esperado de nós de trabalho.