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,osememory(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ótuloos, ele será assumido automaticamente comoRHEL7. - Os hosts podem ter mais rótulos do que conjuntos de trabalhadores
- Por exemplo, um host com os rótulos de h
cpu,memoryeenvpode ser automaticamente atribuído a um pool de trabalhadores que tenha apenas o rótulo de hostcpu. A designação automática de host corresponde aos rótuloscpu. 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=4env=prodos=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-1bos=rhel - Host B:
cpu=4, memory=32, zone=us-east-1aos=RHEL7 - Host C:
cpu=4, memory=64, env=prodos=RHEL7 - Apresentador D:
cpu=4, memory=64, env=prodos=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 emus-east-1b. Como o conjunto de trabalhadoresdefaultestá apenas emus-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=prode, portanto, não é designado. - O host C é designado automaticamente porque corresponde aos rótulos de host
cpu=4eenv=prode não tem nenhuma restrição de zona. O rótulo de hostmemory=64não é considerado, pois o conjunto de trabalhadores não solicita um rótulomemory. - O host D atende às solicitações de rótulo de CPU, zona e
env=prod, mas não atende à solicitaçãoosdeRHEL7e, 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.
-
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.
-
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
cpuememoryao anexar o host em sua localização do Satellite.- 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 ... ``` -
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,osememoryno 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.
- Certifique-se de que você tenha hosts disponíveis com rótulos que correspondam aos rótulos de host do conjunto de trabalhadores.
- 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.