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
oVT-x
. - Para las CPU de AMD, el soporte para la virtualización se conoce como
AMD Virtualization
oAMD-V
.
- Para las CPU de Intel, el soporte para la virtualización se conoce como
- 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
.
- 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
. - 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.
- En la Lista de dispositivos de la consola, seleccione el servidor nativo.
- 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.
- Pulse Gestión remota y anote los
User
yPassword
en la sección Detalles de gestión. Utilice este nombre de usuario y contraseña en pasos posteriores. - Pulse el 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.
- Inicie sesión en el servidor con
User
yPassword
que ha recuperado anteriormente. - En la pestaña Sistema, en la Vista previa de la consola remota, pulse Valores.
- Seleccione Java para cambiar la interfaz para utilizar Java en lugar de HTML5.
- Pulse la vista previa de la consola para descargar un archivo
launch.jnlp
. - Abra una ventana de terminal y ejecute el archivo
.jnlp
que ha descargado anteriormente con el mandatojavaws <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 mandatojavaws <path_to_.jnlp>
. - Una vez que se haya cargado la consola, seleccione Soporte virtual > Almacenamiento virtual.
- En la sección Tipo de unidad lógica, seleccione Archivo ISO.
- Pulse Abrir imagen y seleccione el archivo ISO de RHCOS que ha descargado.
- Pulse Plug-in.
- Especifique
exit
para acceder al indicador de inicio de sesión de BIOS. - Especifique la contraseña de Softlayer en el indicador de BIOS.
- En la pestaña Avanzado, busque los valores de virtualización y habilítelos.
- Seleccione Configuración de CPU.
- Busque
VTD
oIntel Virtualization Technology
y asegúrese de habilitarlo. Para las CPU de Intel, el soporte se conoce comoIntel VT
oVT-x
. Para las CPU de AMD, se hace referencia a las soportadas comoAMD Virtualization
oAMD-V
. Para obtener más información, consulte la documentación del fabricante de hardware. - Habilite
VTD
si no está habilitado. Para obtener más información, consulte la documentación del proveedor de hardware.
- 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.
- Seleccione Arrancar.
- Seleccione la opción para arrancar desde ISO virtual.
- Asegúrese de que
Hard Drive
también es una opción en orden de arranque.
- Guarde las opciones y salga. Por ejemplo, para este Bare Metal Server, pulse Guardar y salir.
- 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.
- En el indicador de
core@localhost
, ejecuteifconfig
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 mandatoifconfig
. - En la solicitud
core@localhost
, especifiquesudo nmtui
. - Pulse Editar una conexión.
- Para cada conexión conectada que desee activar, pulse IPv4 Configuración > Manual.
- Seleccione Mostrar.
- Especifique el CIDR para Direcciones. El CIDR es la dirección IP y la máscara de subred para esa subred.
- Especifique la pasarela para Gateway.
- Añada información de servidor DNS. Por ejemplo, para este Bare Metal Server, estos valores son
8.8.8.8
y4.4.4.4
para interfaces públicas; y10.0.80.11
y10.0.80.12
para interfaces privadas. - Repita estos pasos para cada una de las conexiones conectadas que desee activar.
- Cuando haya terminado, seleccione Aceptar, Salir.
- 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.
-
Descargue el script de conexión de host para su ubicación. Asegúrese de especificar
RHCOS
para el sistema operativo de host. -
Obtenga el nombre de host para el sistema nativo; por ejemplo,
mybaremetalserver
. -
Convierta el nombre de host a
base64
ejecutando el mandato siguiente, sustituyendo<hostname>
por el nombre de host del servidor nativo:echo <hostname> | base64
-
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, ...
-
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
-
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="}},
-
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
-
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="}},
-
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"}]}}
-
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.
-
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
-
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
. -
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 delsblk
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.
-
Una vez finalizada la instalación, desconecte el archivo ISO de RHCOS y rearranque desde el disco duro.
- Especifique
exit
para acceder al inicio de sesión de BIOS. - Especifique la contraseña de Softlayer en el indicador de BIOS.
- Seleccione Arrancar.
- Seleccione para arrancar desde la unidad de disco duro.
- Pulse Guardar y salir.
- Pulse Guardar cambios y restablecer.
- Especifique
-
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.
-
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>
-
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.