IBM Cloud Docs
Configuración del nodo bastión de Red Hat OpenShift

Configuración del nodo bastión de Red Hat OpenShift

Para habilitar el despliegue, se aprovisiona una máquina virtual (VM) para ejecutar los pasos de instalación de Red Hat® OpenShift® y alojar un HTTP Server. Esta máquina virtual se conoce como nodo bastión. El nodo bastión está conectado al conmutador lógico de Red Hat OpenShift, y las regla sde cortafuegos y NAT de ESG se han configurado para permitir el acceso SSH desde el servidor de salto o remoto.

El nodo bastión ejecuta Red Hat® Enterprise Linux®, y se utiliza para alojar los scripts, archivos y herramientas para suministrar los nodos de arranque, plano de control y cálculo. Después del despliegue, se recomienda mantener el nodo bastión como nodo administrativo para el clúster.

La configuración del nodo bastión consta de los pasos siguientes:

  1. Aprovisione una Red Hat VM.
  2. Registre la Red Hat VM.
  3. Instalar NGINX (servidor HTTP).
  4. Generar una clave privada SSH y añadirla a un agente.

Aprovisionamiento de una Red Hat

Proporcione una máquina virtual ( Red Hat, VM) basada en las siguientes especificaciones. Utilice la interfaz de usuario del servidor vCenter o el script PowerCLI que se documenta más adelante en este documento para aprovisionar la máquina virtual. Anote la dirección NAT, que se configura en el ESG de NSX.

Red Hat VM - provisión
VM Dirección IP Pasarela Disco (GB) Memoria (GB) vCPU Dirección NAT
bastion 192.168.133.8 192.168.133.1 50 2 1 10.208.59.197

Utilice la tabla siguiente para registrar sus detalles de despliegue:

Implantación de máquinas virtualesRed Hat
Parámetro Ejemplo Su despliegue
Dirección IP de vCenter Server
Usuario de vCenter Server
Contraseña de vCenter Server
Conmutador lógico OpenShift-LS
Almacén de datos de instancia de vCenter Server vsanDatastore
Nombre de máquina virtual bastion
Nombre de archivo ISO rhel-8.x-x86_64-dvd.iso
Dirección IP 192.168.133.8
Máscara de red 255.255.255.0
Pasarela predeterminada 192.168.133.1

Antes de empezar, cree la máquina virtual utilizando la CLI de vCenter o el siguiente script de PowerCLI.

# Connect to vCenter
connect-VIserver –server <IP_Address> -User <UserName> -Password '<Password>'

# Create VM
$ls = get-nsxtransportzone | get-nsxlogicalswitch OpenShift-LS | Get-NsxBackingPortGroup | Select-Object Name
$ds = get-datastore -Name vsanDatastore
$vm = New-VM -Name bastion -Datastore $ds -DiskGB 50 -DiskStorageFormat Thin -MemoryGB 2 -NumCpu 1 -Notes "OpenShift Bastion node" -NetworkName $ls.name -GuestId rhel8_64Guest

# Connect a CD Drive loaded with the RHEL ISO
New-CDDrive -VM $vm -IsoPath "[vsanDatastore] ISO\rhel-8.x-x86_64-dvd.iso" -StartConnected

#Start the VM
Start-VM -VM $vm

# Disconnect
Disconnect-NsxServer

Después de que se inicie la máquina virtual, conéctese a la máquina virtual utilizando la consola web o la consola remota y complete los pasos de instalación siguientes. Si es necesario, consulte la documentación de Red Hat Enterprise Linux.

  1. Seleccione el idioma necesario.
  2. Defina la fecha y hora.
  3. Configure la red y el nombre de host.
  4. Seleccione el destino de la instalación.
  5. Defina la contraseña raíz.
  6. Crea un usuario de .

Registro de la máquina virtual Red Hat

Para este paso, necesita los detalles de la suscripción de Red Hat:

  • Nombre de usuario
  • Contraseña
  • Agrupación de suscripciones

Después de desplegar el nodo bastión, debe registrarse y suscribirlo con los repositorios públicos de Red Hat. Desde el dispositivo de salto de host o remoto, ejecute SSH para conectarse al nodo de bastión. Utilice el mandato su para obtener privilegios root y ejecute los siguientes mandatos después de sustituir el nombre de usuario, la contraseña y la agrupación por sus variables.

export rhel_subscription_username=<email address>
export rhel_subscription_password=<password>
sudo subscription-manager register --username=${rhel_subscription_username} --password=${rhel_subscription_password} --force
subscription-manager refresh
subscription-manager attach --pool=<pool>
subscription-manager repos --disable="*"
subscription-manager repos --enable  rhel-8-server-rpms
subscription-manager repos --enable  rhel-8-server-extras-rpms
subscription-manager repos --enable  rhel-server-rhscl-8-rpms

Instalación de NGINX (servidor HTTP)

El despliegue de los nodos de Red Hat OpenShift utiliza Ignition y este proceso requiere que HTTP Server esté disponible para descargar la configuración necesaria. Este despliegue utiliza una instancia NGINX que se ejecuta en el nodo bastión. Para instalar NGNIX, lleve a cabo los pasos siguientes después de conectarse al nodo bastión y disponer de los privilegios de root:

  1. Utilice un editor de texto como vi para crear el siguiente archivo vi /etc/yum.repos.d/nginx.repo.

  2. Escriba i para insertar y pegar la información siguiente en el archivo:

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/mainline/rhel/8/$basearch/
    gpgcheck=0
    enabled=1
    
  3. Pulse Esc para volver a la modalidad de mandatos y, a continuación, escriba :wq para guardar el archivo y salir de vi.

  4. Utilice el mandato yum para instalar el paquete NGINX.

    yum update
    yum install -y nginx
    
  5. Cree el archivo de configuración predeterminada vi /etc/nginx/conf.d/default.conf.

  6. Escriba i para insertar y pegar la información siguiente en el archivo:

    server {
        listen       80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }
    
  7. Pulse Esc para volver a la modalidad de mandatos y, a continuación, escriba :wq para guardar el archivo y salir de vi.

  8. Ejecute los mandatos siguientes para iniciar NGINX.

    systemctl enable nginx
    systemctl start nginx
    
  9. El cortafuegos de Linux se debe configurar para habilitar HTTP utilizando los siguientes mandatos firewall-cmd:

    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --reload
    

Generación de una clave privada SSH y adición de la misma al agente

Para los clústeres de plataformas de contenedor de Red Hat OpenShift en los que desea realizar la depuración de la instalación o la recuperación tras desastre, debe proporcionar una clave SSH que el proceso ssh-agent utiliza para el instalador.

Puede utilizar esta clave para SSH en los nodos como núcleo de usuario. Cuando despliegue el clúster, la clave se añade a la lista ~/.ssh/authorized_keys del usuario central.

Debe utilizar una clave local.

Creación de la clave SSH

  1. En la sesión SSH en el nodo bastión, ejecute el siguiente comando, que genera un par de claves públicas o privadas de rsa en el directorio /root/.ssh :

    ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 4096 -N ''
    

    La clave privada es /root/.ssh/id_rsa y la clave pública es /root/.ssh/id_rsa.pub.

  2. Inicie el proceso agente de ssh como tarea en segundo plano:

    eval "$(ssh-agent -s)"
    
  3. Añada su clave privada SSH al agente de ssh:

    ssh-add /root/.ssh/id_rsa
    

Descarga de las herramientas de instalación

Para obtener más información sobre la instalación de Red Hat OpenShift 4.14, consulte Instalación de un clúster en vSphere con infraestructura aprovisionada por el usuario.

Para obtener más información sobre cómo acceder a la infraestructura de proveedor de usuario de Red Hat OpenShift, consulte Acceso a Internet y telemetría para la plataforma de contenedores de Red Hat OpenShift.

Antes de instalar Red Hat OpenShift Container Platform, debe descargar un número de archivos en el nodo bastión y, a continuación, extraerlos. Se completan las acciones siguientes:

  • Descarga de unzip para extraer los archivos descargados.
  • Creación de un directorio de instalación y definición como directorio de trabajo.
  • Descargue las herramientas de instalación y cliente de Red Hat OpenShift.
  • Extracción de los paquetes descargados.
  • Desplazamiento de los mandatos a /usr/local/bin para facilitar su uso.
  • Instale Git para descargar el instalador de Red Hat OpenShift.
  • Clonación del repositorio del instalador en el nodo bastión.
  • Descargue y extraiga Terraform en el directorio /usr/local/bin para facilitar su uso.

Estos mandatos se utilizan en la sesión SSH en el nodo bastión que tiene privilegios root. Sustituya 4.x por la versión actual de Red Hat OpenShift, por ejemplo, 4.14.

# Download unzip
yum install -y wget unzip

# Create an installation directory and make it the working directory
mkdir -p /opt/ocpinstall
cd /opt/ocpinstall

# Download the OpenShift installer and client tools
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-client-linux.tar.gz
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-install-linux.tar.gz

# Extract the downloaded bundles
tar -xvf openshift-client-linux.tar.gz
tar -xvf openshift-install-linux.tar.gz

# Move commands to /usr/local/bin for ease of use
mv kubectl oc openshift-install /usr/local/bin
mv openshift-install /usr/local/bin

# Install git and clone the OpenShift installer
yum install -y git
git clone -b release-4.x https://github.com/openshift/installer

# Download and extract terraform
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
unzip terraform_0.11.13_linux_amd64.zip
mv terraform /usr/local/bin

El nodo Bastion ya está listo para los pasos de instalación de Red Hat OpenShift 4.14, que se describen en Red Hat OpenShift 4.14 instalación de infraestructura de proveedor de usuario.