IBM Cloud Docs
Asignación automática de hosts con etiqueta de host

Asignación automática de hosts con etiqueta de host

Los hosts disponibles se pueden asignar automáticamente a agrupaciones de nodos trabajadores en recursos de Satellite, como un clúster o un servicio de Satellitehabilitado para IBM Cloud cuando se utilizan etiquetas de host. Las etiquetas de host las utilizan las agrupaciones de nodos trabajadores para solicitar capacidad de cálculo a los hosts Satellite disponibles con etiquetas coincidentes. Puede habilitar e inhabilitar la asignación automática de hosts. Su anfitrión debe estar disponible antes de que pueda ser asignado.

La asignación automática de hosts no está disponible para el plano de control de ubicación de Satellite.

Etiquetas de host

La asignación automática de host funciona mediante la coincidencia de etiquetas de agrupaciones de trabajadores en clústeres de Satellite con las etiquetas de host y zona en los hosts Satellite disponibles.

Tenga en cuenta la siguiente información sobre las etiquetas de host que se utilizan para la asignación automática.

Etiquetas de host predeterminadas
Cuando conecta un host a una ubicación de Satellite , el host obtiene automáticamente etiquetas para cpu, osy memory (en bytes). No puede eliminar estas etiquetas. Puede incluir etiquetas de host adicionales o actualizar los metadatos de host más adelante. Si el host no incluye la etiqueta os , se asume automáticamente como RHEL7.
Los hosts pueden tener más etiquetas que las agrupaciones de trabajadores
Por ejemplo, el host puede tener las etiquetas de host cpu, memory y env, pero la agrupación de trabajadores solicitante sólo tiene una etiqueta de host cpu. La asignación automática de host coincide con las etiquetas cpu. Tenga en cuenta que lo contrario no funciona. Si una agrupación de trabajadores tiene más etiquetas que un host, el host no se puede asignar automáticamente a la agrupación de trabajadores.
La coincidencia es exacta
Las etiquetas de host deben ser exactamente iguales (=). Aunque etiqueta de host sea un número, no se utilizan los operadores menor que (<), mayor que (>) u otros para hallar coincidencias.

Escenario de ejemplo para la asignación automática de host

Suponga que tiene un clúster de Satellite con una agrupación de trabajadores default en us-east-1a y las siguientes etiquetas de host.

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

La ubicación de Satellite tiene hosts disponibles (no asignados) con las etiquetas de host que se indican a continuación.

  • 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
  • Host D: cpu=4, memory=64, env=prod os=RHCOS

Si cambia el tamaño de la agrupación de nodos trabajadores default para solicitar 3 nodos trabajadores más, solo se puede asignar automáticamente el host C, pero no el host A ni el host B.

  • El host A cumple las solicitudes de etiqueta de CPU y env=prod, pero sólo se puede asignar en us-east-1b. Puesto que la agrupación de trabajadores default sólo está en us-east-1a, el Host A no se asigna.
  • El host B cumple las solicitudes de CPU y de zona. Sin embargo, el host no tiene la etiqueta env=prod y no se asigna.
  • El host C se asigna automáticamente porque coincide con las etiquetas de host cpu=4 y env=prod y no tiene ninguna restricción de zona. La etiqueta de host memory=64 no se tiene en cuenta porque la agrupación de nodos trabajadores no solicita una etiqueta memory.
  • El host D cumple las solicitudes de etiqueta de CPU, zona y env=prod , pero no cumple la solicitud os de RHEL7, por lo que no se asigna.

Los hosts se deben asignar como nodos trabajadores en cada zona de la agrupación de nodos trabajadores predeterminada del clúster. Si la agrupación de nodos trabajadores predeterminada abarca varias zonas, asegúrese de que tiene hosts con etiquetas coincidentes que se pueden asignar en cada zona.

Asignación automática de hosts

IBM Cloud Satellite puede asignar automáticamente hosts a agrupaciones de trabajadores en clústeres de Satellite que soliciten capacidad de cálculo utilizando etiquetas de host como, por ejemplo, cpu.

Antes de empezar, asegúrese de que crea un clúster de Satellite. Si crea un clúster en la CLI, debe especificar la opción --workers con el número de hosts que desea asignar automáticamente. A continuación, asegúrese de adjuntar hosts a la ubicación de Satellite, pero no asigne los hosts a ningún recurso.

  1. Revise las etiquetas de host que utilizan las agrupaciones de nodos trabajadores para solicitar capacidad de cálculo. Tiene varias opciones.

    • Crear una agrupación de trabajadores en un clúster de Satellite con las etiquetas de host que desea utilizar para la asignación automática.
    • Revisar las agrupaciones de nodos trabajadores existentes para ver sus etiquetas de host. Tenga en cuenta que no puede actualizar las etiquetas de host que tiene una agrupación de nodos trabajadores. Puede revisar las Etiquetas de host ejecutando el mandato ibmcloud oc worker-pool get -c <cluster> --worker-pool <worker_pool>.
    • Revise las etiquetas de host que utiliza un clúster de servicio IBM Cloud habilitado para Satellitepara solicitar recursos de la consola de instancia de servicio IBM Cloud habilitada para Satellite.
  2. Revise las etiquetas de host que tienen los hosts disponibles. Recuerde que los hosts obtienen automáticamente las etiquetas cpu y memory cuando conecta el host a la ubicación de Satellite.

    1. Obtenga el nombre de la ubicación de Satellite.
      ibmcloud sat location ls
      
    2. Obtenga una lista de los hosts disponibles (no asignados) de su ubicación y anote los ID de los hosts cuyas etiquetas desea comprobar.
      ibmcloud sat host ls --location <location_name_or_ID> | grep unassigned
      
    3. Para cada host que desee comprobar, obtenga los detalles del host y anote las Etiquetas de la salida.
      ibmcloud sat host get --location <location_name_or_ID> --host <host_name_or_ID>
      
      Salida de ejemplo
      ...
      Labels      
      app      webserver   
      cpu      4   
      memory   3874564
      os       RHCOS
      ...
      
  3. Actualice las etiquetas del host disponible para que coincidan con todas las etiquetas de la agrupación de trabajadores para la que desea que el host esté disponible para la asignación automática. Si lo desea puede especificar una zona para asegurarse de que el host solo se asigna automáticamente a dicha zona.

    Las etiquetas cpu, os y memory en el host se aplican automáticamente y no se pueden editar.

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

Inhabilitar la asignación automática de hosts

Las acciones siguientes inhabilitan la asignación automática de hosts para una agrupación de trabajadores. Más tarde, puede volver a habilitar la asignación automática de hosts.

Volver a habilitar la asignación automática de hosts

Si ha inhabilitado la asignación automática de hosts, puede volver a habilitarla.

  1. Asegúrese de que tiene hosts disponibles con etiquetas que coincidan con las etiquetas de host de la agrupación de nodos trabajadores.
  2. Cambie el tamaño de la agrupación para establecer el tamaño solicitado por zona, reequilibrar la agrupación de trabajadores y habilitar de nuevo la asignación automática.

Para clústeres Satellite, no utilice el comando ibmcloud oc worker-pool rebalance si ha asignado manualmente nodos de trabajador a su grupo de trabajadores. Reequilibrar un pool con nodos trabajadores asignados manualmente podría eliminar más nodos trabajadores de los esperados.