IBM Cloud Docs
Conexión de hosts nativos a una ubicación

Conexión de hosts nativos a una ubicación

Puede conectar hosts nativos a su ubicación de Satellite. Después de conectar los hosts, puede configurar la virtualización de Red Hat OpenShift en la ubicación de Satellite. Mediante la virtualización, puede suministrar Windows u otras máquinas virtuales en el espacio Bare Metal Servers en un Red Hat OpenShift gestionado.

Sistemas operativos de host soportados
Red Hat CoreOS (RHCOS)

Los pasos siguientes utilizan IBM Cloud® Bare Metal Servers for Classic. Sin embargo, puede adaptar estos pasos para sus propios servidores nativos.

Requisitos previos

  • Cree una ubicación habilitada para RHCOS. Para comprobar si la ubicación está habilitada para RHCOS, consulte ¿Está habilitada mi ubicación para Red Hat CoreOS? Si la ubicación no está habilitada, cree una nueva con RHCOS.
  • Conecte los hosts a su ubicación y configure el plano de control de ubicación.
  • Busque y anote el nombre de host nativo. Para este Bare Metal Server, esta información se encuentra en el campo Nombre de la página Visión general para su Bare Metal Serversespecífico.
  • Busque la información de red del servidor nativo. Para este Bare Metal Server, esta información se encuentra en la sección Detalles de red de la página Visión general. Anote la información de CIDR y pasarela para las interfaces públicas y privadas del sistema.
  • Cree o identifique un grupo IBM Cloud Object Storage para almacenar el archivo de encendido.
  • Cree o identifique un clúster dentro de la ubicación Satellite que ejecuta un sistema operativo soportado; por ejemplo, esta guía de aprendizaje utiliza un clúster Red Hat OpenShift que ejecuta 4.11.

Además, Bare Metal Servers utilizado en este ejemplo requería los siguientes requisitos previos.

  • Si tiene previsto tener varias VLAN para el clúster, varias subredes en la misma VLAN o está planificando un clúster clásico multizona, habilite VRF en la cuenta.
  • Cree dos pares de VLAN (públicas y privadas) en el mismo pod de centro de datos de IBM Cloud para cada zona del host nativo.
  • Más adelante en esta guía de aprendizaje, desplegará OpenShift Data Foundation for local disks. Esta solución requiere dispositivos de almacenamiento adicionales en los nodos trabajadores.

Requisitos de Bare Metal Server

Para conectar un host nativo, Bare Metal Server debe cumplir los requisitos siguientes.

  • Debe dar soporte a la tecnología de virtualización.
    • Para las CPU de Intel, el soporte para la virtualización se conoce como Intel VT o VT-x.
    • Para las CPU de AMD, el soporte para la virtualización se conoce como AMD Virtualization o AMD-V.
  • Debe tener un mínimo de 8 núcleos y 32 GB de RAM, además de los núcleos adicionales que necesite para la sobrecarga de vCPU. Para obtener más información, consulte sobrecarga de CPU en la documentación de Red Hat OpenShift.
  • Debe incluir suficiente memoria para sus necesidades de carga de trabajo. Por ejemplo: 360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices). Para obtener más información, consulte Sobrecarga de memoria en la documentación de Red Hat OpenShift.
  • No hay ningún sistema operativo instalado. El sistema operativo Red Hat CoreOS se instala más adelante en este proceso.
  • Si desea utilizar OpenShift Data Foundation como solución de almacenamiento, añada 2 discos de almacenamiento a cada uno de los Bare Metal Servers cuando los suministre.

Si los servidores no cumplen estos requisitos, puede crear un Bare Metal Server. Para obtener una lista de opciones nativas, consulte Opciones disponibles para un servidor nativo.

Arrancando Bare Metal Server

Para este Bare Metal Serverespecífico, debe utilizar un navegador que dé soporte a Java para clásico. Puede utilizar el navegador Safari en el sistema local o descargar una versión de Java que admita el mandato javaws.

  1. Descargue una Red Hat CoreOS. Busque la versión ISO correspondiente que coincida con la versión de Red Hat OpenShift que desea utilizar. Puede descargar cualquier imagen que coincida con su versión menor. Por ejemplo, si desea utilizar la versión 4.11, descargue una versión de RHCOS para 4.11 como rhcos-4.11.9-x86_64-live.x86_64.iso.
  2. Inicie sesión en la VPN para acceder a la red de host. Para obtener más información, consulte Acceso VPN en IBM Cloud.
  3. En la Lista de dispositivos de la consola, seleccione el servidor nativo.
  4. En la página Visión general, anote los valores de red para el servidor. Busque y verifique la información de CIDR y pasarela.
  5. Pulse Gestión remota y anote los User y Password en la sección Detalles de gestión. Utilice este nombre de usuario y contraseña en pasos posteriores.
  6. Pulse el icono Acciones icono Acciones > Consola KVM para abrir la consola de Bare Metal Server. Es posible que el navegador muestre un aviso de un certificado autofirmado inseguro. Añada el certificado al almacén de confianza del navegador como un certificado de CA de confianza para continuar.
  7. Inicie sesión en el servidor con User y Password que ha recuperado anteriormente.
  8. En la pestaña Sistema, en la Vista previa de la consola remota, pulse Valores.
  9. Seleccione Java para cambiar la interfaz para utilizar Java en lugar de HTML5.
  10. Pulse la vista previa de la consola para descargar un archivo launch.jnlp.
  11. Abra una ventana de terminal y ejecute el archivo .jnlp que ha descargado anteriormente con el mandato javaws <path_to_.jnlp>. Tenga en cuenta que es posible que se le solicite que actualice Java. Si es así, siga las indicaciones para actualizar Javay, a continuación, vuelva a intentar el mandato. Si se le solicita que permita la supervisión de entrada para la aplicación Terminal o si la ventana de la consola Java se bloquea, debe actualizar el valor de preferencia del sistema para la supervisión de entrada. Puede actualizar este valor yendo a Preferencias del sistema > Seguridad y privacidad > Privacidad > Supervisión de entrada. A continuación, vuelva a iniciar la consola Java con el mandato javaws <path_to_.jnlp>.
  12. Una vez que se haya cargado la consola, seleccione Soporte virtual > Almacenamiento virtual.
  13. En la sección Tipo de unidad lógica, seleccione Archivo ISO.
  14. Pulse Abrir imagen y seleccione el archivo ISO de RHCOS que ha descargado.
  15. Pulse Plug-in.
  16. Especifique exit para acceder al indicador de inicio de sesión de BIOS.
  17. Especifique la contraseña de Softlayer en el indicador de BIOS.
  18. En la pestaña Avanzado, busque los valores de virtualización y habilítelos.
    1. Seleccione Configuración de CPU.
    2. Busque VTD o Intel Virtualization Technology y asegúrese de habilitarlo. Para las CPU de Intel, el soporte se conoce como Intel VT o VT-x. Para las CPU de AMD, se hace referencia a las soportadas como AMD Virtualization o AMD-V. Para obtener más información, consulte la documentación del fabricante de hardware.
    3. Habilite VTD si no está habilitado. Para obtener más información, consulte la documentación del proveedor de hardware.
  19. Configure el orden de arranque. Por ejemplo, para instalar este Bare Metal Server, puede utilizar un archivo ISO virtual. Su caso específico puede utilizar un dispositivo de arranque externo diferente.
    1. Seleccione Arrancar.
    2. Seleccione la opción para arrancar desde ISO virtual.
    3. Asegúrese de que Hard Drive también es una opción en orden de arranque.
  20. Guarde las opciones y salga. Por ejemplo, para este Bare Metal Server, pulse Guardar y salir.
  21. Guarde los cambios e inicie el proceso de instalación. Por ejemplo, para este Bare Metal Server, pulse Guardar cambios y restablecer.

Al guardar y salir, RHCOS empieza la instalación. La próxima vez que se reinicie el sistema, arrancará RHCOS en la memoria.

Continúe con las secciones siguientes inmediatamente para evitar la sobrescritura de memoria y la corrupción.

Configuración de redes públicas

Debe configurar una conexión de red pública para la máquina nativa para descargar el script de conexión de host (archivo de encendido RHCOS). Identifique las interfaces privada y pública. RHCOS convierte los nombres de interfaz de red en eno o ens. Para este Bare Metal Server, la interfaz pública es eth1 y la interfaz privada es eth0.

Después de arrancar RHCOS en la memoria, la solicitud core@localhost está disponible. Siga estos pasos para configurar la conectividad de red para el servidor nativo.

  1. En el indicador de core@localhost, ejecute ifconfig para determinar qué interfaz es la interfaz pública. En función del tipo de las conexiones nativas, la configuración de las conexiones cableadas puede ser diferente. En esta configuración, las interfaces públicas eran conexiones cableadas 3 y 5 y las interfaces privadas eran conexiones cableadas 2 y 4. Puede encontrar esta información en la salida del mandato ifconfig.
  2. En la solicitud core@localhost, especifique sudo nmtui.
  3. Pulse Editar una conexión.
  4. Para cada conexión conectada que desee activar, pulse IPv4 Configuración > Manual.
  5. Seleccione Mostrar.
  6. Especifique el CIDR para Direcciones. El CIDR es la dirección IP y la máscara de subred para esa subred.
  7. Especifique la pasarela para Gateway.
  8. Añada información de servidor DNS. Por ejemplo, para este Bare Metal Server, estos valores son 8.8.8.8 y 4.4.4.4 para interfaces públicas; y 10.0.80.11 y 10.0.80.12 para interfaces privadas.
  9. Repita estos pasos para cada una de las conexiones conectadas que desee activar.
  10. Cuando haya terminado, seleccione Aceptar, Salir.
  11. Pruebe que tiene conectividad haciendo ping en la red del servidor. Por ejemplo, para probar la red pública para este Bare Metal Serverespecífico, ping 8.8.8.8.

Configuración del archivo de encendido

Complete los pasos siguientes para configurar el archivo de encendido. El archivo de encendido se utiliza para adjuntar el servidor nativo como un host en la ubicación de Satellite.

Debe configurar un archivo de encendido independiente para cada host nativo que esté adjuntando a la ubicación.

  1. Descargue el script de conexión de host para su ubicación. Asegúrese de especificar RHCOS para el sistema operativo de host.

  2. Obtenga el nombre de host para el sistema nativo; por ejemplo, mybaremetalserver.

  3. Convierta el nombre de host a base64 ejecutando el mandato siguiente, sustituyendo <hostname> por el nombre de host del servidor nativo:

    echo <hostname> | base64
    
  4. Abra el archivo ignition y añada la información de nombre de host a la sección "storage":{"files":[. Sustituya <hostname> por la salida codificada en base64 del paso anterior.

      {"overwrite": true,"path": "/etc/hostname","mode": 600,"contents": {"source": "data:text/plain;base64,<hostname>"},},],}
    

    El primer bloque del archivo de encendido con el nombre de host mybaremetalserver se muestra en el ejemplo siguiente:

    {"ignition":{"version":"3.1.0"},"passwd":{"users":[{"name":"core","sshAuthorizedKeys":[""]}]},"storage":{"files":[{"overwrite": true,"path": "/etc/hostname","mode": 600,"contents": {"source": "data:text/plain;base64,bXliYXJlbWV0YWxzZXJ2ZXIK"}},{"overwrite":true,"path":"/usr/local/bin/ibm-host-attach.sh","contents":{"source":"data:text/plain;base64,
    ...
    
  5. Convierta la información de red privada a base64 ejecutando el mandato siguiente. Sustituya <private_interface> por el nombre de la interfaz privada, por ejemplo, en01. Sustituya <privateIPCIDR> y <gateway> por su CIDR y pasarela de IP privada. Estos valores son los que ha utilizado para configurar la conexión en la sección anterior.

    echo '[connection]
    id=<private-interface-name>
    type=ethernet
    interface-name=<private-interface-name>
    [ipv4]
    never-default=true
    address1=<private-ip-cidr>,<gateway>
    dns=10.0.80.11;10.0.80.12;
    route1=10.0.0.0/8,<gateway>
    route2=161.26.0.0/16,<gateway>
    route3=166.8.0.0/14,<gateway>
    dns-search=
    may-fail=false
    method=manual' | base64
    

    Por ejemplo:

    echo '[connection]
    id=eno1
    type=ethernet
    interface-name=eno1
    [ipv4]
    never-default=true
    address1=10.190.196.9/26,10.190.196.129
    dns=10.0.80.11;10.0.80.12;
    route1=10.0.0.0/8,10.190.96.129
    route2=161.26.0.0/16,10.190.96.129
    route3=166.8.0.0/14,10.190.96.129
    dns-search=
    may-fail=false
    method=manual' | base64
    
  6. Añada estos detalles de conexión al archivo de encendido. Sustituya <private_interface> por el nombre de la interfaz privada, por ejemplo, eno1. Sustituya <private_connection_details> por la salida codificada en base64 del paso anterior.

      {"overwrite": true,"path": "/etc/NetworkManager/system-connections/<private_interface>.nmconnection","mode": 256,"contents": {"source": "data:text/plain;base64,<private_connection_details>"}}
    

    Por ejemplo, para añadir la información de red del paso anterior, especifique el siguiente ejemplo de código.

    { "overwrite": true,"path": "/etc/NetworkManager/system-connections/en01.nmconnection","mode": 256,"contents": {     "source": "data:text/plain;base64,W2Nvbm5lY3Rpb25dCiAgICAgIGlkPWVubzEKICAgICAgdHlwZT1ldGhlcm5ldAogICAgICBpbnRlcmZhY2UtbmFtZT1lbm8xCiAgICAgIFtpcHY0XQogICAgICBuZXZlci1kZWZhdWx0PXRydWUKICAgICAgYWRkcmVzczE9MTAuMTkwLjE5Ni45LzI2LDEwLjE5MC4xOTYuMTI5CiAgICAgIGRucz0xMC4wLjgwLjExOzEwLjAuODAuMTI7CiAgICAgIHJvdXRlMT0xMC4wLjAuMC84LDEwLjE5MC45Ni4xMjkKICAgICAgcm91dGUyPTE2MS4yNi4wLjAvMTYsMTAuMTkwLjk2LjEyOQogICAgICByb3V0ZTM9MTY2LjguMC4wLzE0LDEwLjE5MC45Ni4xMjkKICAgICAgZG5zLXNlYXJjaD0KICAgICAgbWF5LWZhaWw9ZmFsc2UKICAgICAgbWV0aG9kPW1hbnVhbAo="}},
    
  7. Convierta la información de red pública a base64 ejecutando el mandato siguiente. Sustituya <public_interface> por el nombre de la interfaz pública, por ejemplo, eno2. Sustituya <publicIPCIDR> y <gateway> por el CIDR de IP pública y la pasarela de IP pública. Estos valores son los que ha utilizado para configurar la conexión en la sección anterior.

    echo '[connection]
    id=<public_interface>
    type=ethernet
    interface-name=<public_interface>
    [ipv4]
    address1=<publicIPCIDR>,<gateway>
    dns=8.8.8.8;4.4.4.4;
    dns-search=
    may-fail=false
    method=manual' |base64
    

    Mandato de ejemplo para base64 codificar los detalles de la interfaz pública.

    echo '[connection]
    id=eno2
    type=ethernet
    interface-name=eno2
    [ipv4]
    address1=52.117.108.24/28,52.117.108.17
    dns=8.8.8.8;4.4.4.4;
    dns-search=
    may-fail=false
    method=manual' |base64
    
  8. Añada estos detalles de conexión al archivo de encendido. Sustituya <public_interface> por el nombre de la interfaz pública, por ejemplo, eno2. Sustituya <public_connection_details> por la salida codificada en base64 del paso anterior.

      {"path": "/etc/NetworkManager/system-connections/<public_interface>.nmconnection","mode": 256,"contents": {"source": "data:text/plain;base64,<public_connection_details>"}}
    

    Por ejemplo, para añadir la información de red del paso anterior, especifique el siguiente ejemplo de código, inmediatamente después del ejemplo de código de interfaz privada.

    {"path": "/etc/NetworkManager/system-connections/en02.nmconnection","mode": 256,"contents": {"source": "data:text/plain;base64,W2Nvbm5lY3Rpb25dCiAgICBpZD1lbm8yCiAgICB0eXBlPWV0aGVybmV0CiAgICBpbnRlcmZhY2UtbmFtZT1lbm8yCiAgICBbaXB2NF0KICAgIGFkZHJlc3MxPTUyLjExNy4xMDguMjQvMjgsNTIuMTE3LjEwOC4xNwogICAgZG5zPTguOC44Ljg7NC40LjQuNDsKICAgIGRucy1zZWFyY2g9CiAgICBtYXktZmFpbD1mYWxzZQogICAgbWV0aG9kPW1hbnVhbAo="}},
    
    
  9. Guarde el archivo de encendido. El archivo debe ser plano y no contener ningún retorno. El siguiente archivo de encendido de ejemplo muestra las adiciones realizadas con los pasos anteriores para mybasemetalserver.

    {
      "ignition": {
        "version": "3.1.0"
      },
      "storage": {
        "files": [
          {
            "overwrite": true,
            "path": "/etc/hostname",
            "mode": 600,
            "contents": {
              "source": "data:text/plain;base64,ay1jY3BtYmhldzA0ZGp2ZXNvYmw4Zy1ibS0xCg=="
            }
          },
          {
            "overwrite": true,
            "path": "/etc/NetworkManager/system-connections/en01.nmconnection",
            "mode": 256,
            "contents": {
              "source": "data:text/plain;base64,W2Nvbm5lY3Rpb25dCmlkPWVubzEKdHlwZT1ldGhlcm5ldAppbnRlcmZhY2UtbmFtZT1lbm8xCltpcHY0XQpuZXZlci1kZWZhdWx0PXRydWUKYWRkcmVzczE9IDEwLjE3MC4xNS42NS8yNiwxMC4xNzAuMTUuNjUKZG5zPTEwLjAuODAuMTE7MTAuMC44MC4xMjsKcm91dGUxPTEwLjAuMC4wLzgsMTAuMTcwLjE1LjY1CnJvdXRlMj0xNjEuMjYuMC4wLzE2LDEwLjE3MC4xNS42NQpyb3V0ZTM9MTY2LjguMC4wLzE0LDEwLjE3MC4xNS42NQpkbnMtc2VhcmNoPQptYXktZmFpbD1mYWxzZQptZXRob2Q9bWFudWFsCg=="
            }
          },
          {
            "path": "/etc/NetworkManager/system-connections/en02.nmconnection",
            "mode": 256,
            "contents": {
              "source": "data:text/plain;base64,W2Nvbm5lY3Rpb25dICAgICAgICAgICAgICAgICAgICAgICAgIAppZD1lbm8yCnR5cGU9ZXRoZXJuZXQKaW50ZXJmYWNlLW5hbWU9ZW5vMgpbaXB2NF0KYWRkcmVzczE9MTY5LjQ1LjIzNS4yMTQvMjgsMTY5LjQ1LjIzNS4yMDkKZG5zPTguOC44Ljg7NC40LjQuNDsKZG5zLXNlYXJjaD0KbWF5LWZhaWw9ZmFsc2UKbWV0aG9kPW1hbnVhbAo="
            }
          },
          {
            "overwrite": true,
            "path": "/usr/local/bin/ibm-host-attach.sh",
            "contents": {
              "source": "data:text/plain;base64,<omitted>"
            },
            "mode": 493
          }
        ]
      },
      "systemd": {
        "units": [
          {
            "contents": "[Unit]\nDescription=IBM Host Attach Service\nWants=network-online.target\nAfter=network-online.target\n[Service]\nEnvironment=\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\nExecStart=/usr/local/bin/ibm-host-attach.sh\nRestart=on-failure\nRestartSec=5\n[Install]\nWantedBy=multi-user.target",
            "enabled": true,
            "name": "ibm-host-attach.service"
          }
        ]
      }
    }
        ...
        "},"mode":493}]},"systemd":{"units":[{"contents":"[Unit]\nDescription=IBM Host Attach Service\nWants=network-online.target\nAfter=network-online.target\n[Service]\nEnvironment=\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\nExecStart=/usr/local/bin/ibm-host-attach.sh\nRestart=on-failure\nRestartSec=5\n[Install]\nWantedBy=multi-user.target","enabled":true,"name":"ibm-host-attach.service"}]}}
    
  10. Cargue el archivo de encendido en el grupo IBM Cloud Object Storage que ha identificado anteriormente. En la página Grupo de la consola, pulse Añadir objeto. Arrastre el archivo de encendido en el grupo.

Conexión del host nativo a la ubicación

Descargue el archivo de encendido en el host nativo y, a continuación, ejecútelo para adjuntar el host nativo a la ubicación de Satellite.

  1. Ejecute el mandato siguiente para descargar el archivo desde el grupo a la máquina host. Sustituya <bucketname> por el nombre del grupo IBM Cloud Object Storage, <cos_region> por la región del grupo (por ejemplo, us.east) y <filename> por el nombre del archivo de encendido que está en el grupo.

    Puede ejecutar el mandato curl sin crear un archivo local en el servidor nativo para asegurarse de que el servidor nativo puede alcanzar el grupo eliminando > ignition.ign del ejemplo siguiente.

    curl https://<bucketName>.s3.<cos_region>.cloud-object-storage.appdomain.cloud/<filename> > ignition.ign
    

    Por ejemplo:

    curl https://mybucket.s3.us-east.cloud-object-storage.appdomain.cloud/attachHostmysatloc.ign > ignition.ign
    
  2. Identifique el disco en el que desea instalar el sistema operativo CoreOS. Para identificar discos, ejecute lsblk

    lsblk
    

    El ejemplo siguiente es una salida posible.

    NAME  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    loop0   7:0    0  15.5G  0 loop  /run/ephemeral
    loop1   7:1    0 979.1M  1 loop  /sysroot
    sda     8:0    0   1.8T  0 disk  
    sr0    11:0    1   1.1G  0 rom.  /run/media/iso  
    

    En esta salida, elija instalar en el disco sda.

  3. Ejecute el siguiente mandato install para iniciar el archivo de encendido. Sustituya <diskName> por la vía de acceso completa del disco que ha recuperado de lsblk y sustituya <filename> por el nombre del archivo que ha descargado de IBM Cloud Object Storage.

    sudo coreos-installer install <diskName> --ignition-file <filename>
    

    El ejemplo siguiente muestra el mandato para instalar en el disco /dev/sda con un archivo de encendido denominado ./ignition.ign.

    sudo coreos-installer install /dev/sda --ignition-file ./ignition.ign
    

    El proceso de instalación puede tardar una o dos horas en completarse.

  4. Una vez finalizada la instalación, desconecte el archivo ISO de RHCOS y rearranque desde el disco duro.

    1. Especifique exit para acceder al inicio de sesión de BIOS.
    2. Especifique la contraseña de Softlayer en el indicador de BIOS.
    3. Seleccione Arrancar.
    4. Seleccione para arrancar desde la unidad de disco duro.
    5. Pulse Guardar y salir.
    6. Pulse Guardar cambios y restablecer.
  5. Compruebe la ubicación de Satellite para confirmar que el servidor nativo está conectado.

Enhorabuena. Ahora Bare Metal Server está conectado a su ubicación.

Asignación de un host Bare Metal Server al clúster Red Hat OpenShift

Después de adjuntar Bare Metal Server a su ubicación, puede asignarlo a una agrupación de nodos trabajadores de clúster Red Hat OpenShift.

  1. Busque los hosts que desea añadir a la agrupación de nodos trabajadores del clúster Red Hat OpenShift.

    ibmcloud sat hosts --location <locationID>
    
  2. Asigne Bare Metal Server a la agrupación de nodos trabajadores del clúster Red Hat OpenShift

    ibmcloud sat host assign --location <locationID> --cluster <clusterID> --host <hostID> --worker-pool default --zone <zone>
    

Repita esta guía de aprendizaje para adjuntar más Bare Metal Servers a su ubicación y clúster.

Ahora que Bare Metal Server está asignado a una agrupación de nodos trabajadores, puede configurar la virtualización de Red Hat OpenShift.