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:
- Aprovisione una Red Hat VM.
- Registre la Red Hat VM.
- Instalar NGINX (servidor HTTP).
- 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.
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:
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.
- Seleccione el idioma necesario.
- Defina la fecha y hora.
- Configure la red y el nombre de host.
- Seleccione el destino de la instalación.
- Defina la contraseña raíz.
- 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:
-
Utilice un editor de texto como vi para crear el siguiente archivo
vi /etc/yum.repos.d/nginx.repo
. -
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
-
Pulse Esc para volver a la modalidad de mandatos y, a continuación, escriba
:wq
para guardar el archivo y salir de vi. -
Utilice el mandato
yum
para instalar el paquete NGINX.yum update yum install -y nginx
-
Cree el archivo de configuración predeterminada
vi /etc/nginx/conf.d/default.conf
. -
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; } }
-
Pulse Esc para volver a la modalidad de mandatos y, a continuación, escriba
:wq
para guardar el archivo y salir de vi. -
Ejecute los mandatos siguientes para iniciar NGINX.
systemctl enable nginx systemctl start nginx
-
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
-
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
. -
Inicie el proceso agente de ssh como tarea en segundo plano:
eval "$(ssh-agent -s)"
-
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.