Configurar RHEL

Debes configurar el sistema operativo base de tus máquinas de nodo para que usen Google Distributed Cloud. En esta página se indican los pasos que debes seguir para completar la configuración necesaria. Para obtener más información sobre cómo solucionar problemas de Google Distributed Cloud, consulta las guías de solución de problemas.

Antes de empezar

Asegúrate de que estás usando una versión compatible de tu sistema operativo. Para ver una lista de las versiones compatibles, consulta Seleccionar tu sistema operativo.

Habilitar el compilador Just In Time de BPF

El kernel de tu sistema operativo debe tener habilitada la opción del compilador Just In Time de BPF (CONFIG_BPF_JIT=y).

  • Para saber si esta opción está habilitada, ejecuta el siguiente comando:

    grep CONFIG_BPF_JIT /boot/config-$(uname -r)
    

Validar el gestor de paquetes

Asegúrate de que tienes el nombre de usuario y la contraseña de Red Hat, y de que tienes acceso de superusuario a los ordenadores que vas a configurar. Valida el gestor de paquetes siguiendo estos pasos:

  1. Si no has registrado tu sistema operativo, regístrate en Red Hat con tu nombre de usuario y contraseña de Red Hat para descargar actualizaciones:

    sudo subscription-manager register
    
    sudo subscription-manager refresh
    
    sudo subscription-manager attach --auto
    
  2. Buscar actualizaciones:

    sudo dnf check-update
    

    Asegúrate de que la salida no tenga errores y de que incluya la última comprobación de caducidad de los metadatos. Por ejemplo:

    Updating Subscription Management repositories.
    ...
    # Last metadata expiration check: ...
    ...
    

Configurar o inhabilitar firewalld

Firewalld se puede configurar para usarlo con Google Distributed Cloud o se puede inhabilitar. Para obtener información sobre cómo configurar firewalld, consulta Configurar puertos de firewalld en la página Requisitos de red.

Las siguientes instrucciones inhabilitan firewalld.

  1. Inhabilita firewalld:

    sudo systemctl stop firewalld
    
    sudo systemctl disable firewalld
    
  2. Comprueba el estado de firewalld para asegurarte de que esté inhabilitado:

    sudo systemctl status firewalld | grep "Active"
    # Output
    # Active: inactive (dead)
    

Configurar Docker en tu estación de trabajo

Sigue estos pasos para instalar Docker manualmente:

  1. Elimina cualquier versión anterior de Docker:

    sudo dnf remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
    
  2. Elimina podman-manpages:

    sudo dnf remove podman-manpages
    
  3. Instala Docker 20.10.0 o una versión posterior:

    sudo dnf install -y yum-utils
    
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/rhel/docker-ce.repo
    
    sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io
    
    sudo systemctl start docker
    
  4. Comprueba que ahora estés usando la versión 20.10.0 o una posterior:

    sudo docker version
    
  5. Compara tu salida con el siguiente ejemplo para asegurarte de que las versiones del cliente y del servidor sean 20.10.0 o posteriores:

    Client: Docker Engine - Community
    Version:           25.0.3
    ...
    Server: Docker Engine - Community
    Engine:
    Version:          25.0.3
    
  6. Verifica que Docker se ejecuta:

    docker run hello-world
    

    Debería ver algo similar a lo siguiente:

    Hello from Docker!
    

    Este mensaje indica que tu instalación parece funcionar correctamente.

Configurar la sincronización de la hora

La sincronización de la hora consiste en configurar los relojes de los equipos de tu nodo mediante una referencia de hora externa designada. La sincronización de la hora es importante para las actividades del clúster que dependen del tiempo, como el registro de eventos y la recogida de métricas. El kernel de la máquina de tu nodo controla el reloj de los contenedores que se ejecutan en el nodo. Para asegurarte de que la hora se sincroniza correctamente, instala un servicio de protocolo de hora de red (NTP) en tus máquinas. Puedes usar cualquiera de los servicios disponibles: chrony, systemd-timesyncd, ntp o ntpdate. Ejecuta timedatectl para comprobar que el reloj del sistema está sincronizado. El resultado de timedatectl debe contener el siguiente estado:

System clock synchronized: yes

Asegúrate de que los límites del kernel de Linux inotify sean iguales o superiores a los mínimos

En las máquinas que ejecutan RHEL 9 y 8.10, los límites del kernel de Linux inotify para el número máximo de instancias de usuario y de comprobaciones de usuario deben ser mayores o iguales que los siguientes:

  • fs.inotify.max_user_instances: 8192
  • fs.inotify.max_user_watches: 524288

Asegúrate de que estos valores estén definidos correctamente en las máquinas de tus nodos:

  1. Comprueba el valor de max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. Si es necesario, actualice max_user_instances al valor mínimo:

    echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
    
  3. Comprueba el valor de max_user_watches:

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. Si es necesario, actualice max_user_watches al valor mínimo:

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. Si has actualizado alguno de los valores, reinicia el equipo.

Prácticas recomendadas

Para simplificar la instalación, le recomendamos que configure RHEL con una instalación mínima con gestión sin interfaz gráfica. Además, asegúrate de habilitar la conexión de red y de usar el DHCP predeterminado o de proporcionar una dirección IP estática válida e información de red. Asegúrate de que la máquina pueda conectarse a los recursos externos necesarios, como cloud.google.com.

Si Docker no se ejecuta, comprueba que el daemon de Docker se esté ejecutando con el siguiente comando:

sudo systemctl start docker