Para usar Google Distributed Cloud, debes configurar el sistema operativo base de Red Hat Enterprise Linux (RHEL) en tus máquinas de nodo. Configurar los administradores de paquetes, los parámetros del kernel y los servicios del sistema necesarios prepara los nodos para la implementación del clúster. Para obtener asistencia con la solución de problemas, consulta los problemas conocidos.
Antes de comenzar
Asegúrate de usar una versión compatible de tu sistema operativo. Para obtener una lista de las versiones compatibles, consulta Selecciona tu sistema operativo.
Habilita cgroupsv2
La versión 1.35 y posteriores de Google Distributed Cloud solo de software para Bare Metal requiere
cgroupsv2. Tu sistema operativo debe admitir cgroupsv2 para crear
o actualizar clústeres.
Google Distributed Cloud impide crear o actualizar clústeres si se detecta cgroupsv1
durante las verificaciones de solicitud preliminar. Para obtener instrucciones sobre cómo migrar tu
sistema operativo a cgroupsv2, consulta Migra a cgroup v2 en la
documentación de Kubernetes.
Para obtener instrucciones sobre cómo habilitar cgroupsv2 en RHEL, consulta Habilita cgroup v2 en la base de conocimiento de Red Hat.
Valida la versión de Python
Antes de inicializar o actualizar un nodo con el software de Google Distributed Cloud solo
para equipos físicos de la versión 1.35 y posteriores, ejecuta el comando python3 --version para
validar la versión actual de Python.
Si la versión de Python es 3.8 o anterior, debes instalar Python 3.9 en ese nodo.
Para instalar Python 3.9 o una versión posterior y asegurarte de que tu nodo se inicialice o actualice como se espera, haz lo siguiente:
Instala Python 3.9:
sudo dnf install -y python39Verifica que el archivo de Python 3.9 se encuentre en la ruta de acceso
/usr/bin/python3.9.
Habilita 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 descubrir si esta opción está habilitada, ejecuta el siguiente comando:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
Valida el administrador de paquetes
Asegúrate de tener tu nombre de usuario y contraseña de Red Hat y de tener acceso raíz a las máquinas que configurarás. Sigue estos pasos para validar el administrador de paquetes:
Si no registraste tu sistema operativo, regístrate en Red Hat con tu nombre de usuario y contraseña para descargar actualizaciones:
sudo subscription-manager register sudo subscription-manager refresh sudo subscription-manager attach --autoBusca actualizaciones:
sudo dnf check-updateAsegúrate de que el resultado no tenga errores y que tenga la última verificación de vencimiento de metadatos, por ejemplo:
Updating Subscription Management repositories. ... # Last metadata expiration check: ... ...
Configura o inhabilita firewall
Firewalld se puede configurar para usarlo con Google Distributed Cloud o inhabilitarlo. Para obtener información sobre la configuración de firewall, consulta configura puertos con firewalld en la página de requisitos de red.
Las siguientes instrucciones inhabilitan firewalld.
Inhabilita firewalld:
sudo systemctl stop firewalld sudo systemctl disable firewalldVerifica el estado de firewalld para asegurarte de que esté inhabilitado:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
Configura Docker en tu estación de trabajo
Sigue estos pasos para instalar Docker manualmente:
Quita 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-engineQuita podman-manpages:
sudo dnf remove podman-manpagesInstala Docker 20.10.0+:
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 dockerVerifica que se esté ejecutando la versión 20.10.0+:
sudo docker versionCompara tu resultado con el siguiente ejemplo para garantizar que las versiones de cliente y servidor sean 20.10.0+:
Client: Docker Engine - Community Version: 25.0.3 ... Server: Docker Engine - Community Engine: Version: 25.0.3Verifica que se ejecute Docker:
docker run hello-worldDeberías ver un resultado similar a este:
Hello from Docker!This message shows that your installation appears to be working correctly.
Configura la sincronización de hora
La sincronización temporal consiste en configurar los relojes en tus máquinas de nodos con una referencia de tiempo externa designada. La sincronización temporal es importante para las actividades de clúster con concepción de tiempo, como el registro de eventos y la recopilación de métricas.
El kernel de tu máquina de nodos controla el reloj en contenedores que se ejecutan en los nodos. Para garantizar una sincronización temporal correcta, instala un servicio de protocolo NTP en tus máquinas con cualquiera de los servicios disponibles: chrony, systemd-timesyncd, ntp o ntpdate. Ejecuta timedatectl para verificar que el reloj del sistema esté sincronizado. El resultado de timedatectl debería contener el siguiente estado:
System clock synchronized: yes
Asegúrate de que los límites de inotify del kernel de Linux sean iguales o superiores al mínimo
En el caso de las máquinas que ejecutan RHEL 9 y 8.10, los límites de inotify del kernel de Linux
para las instancias de usuario y las observaciones de usuario máximas deben ser mayores o iguales que
lo siguiente:
fs.inotify.max_user_instances:8192fs.inotify.max_user_watches:524288
Asegúrate de que estos valores estén configurados correctamente en tus máquinas de nodo:
Comprueba el valor de
max_user_instances:cat /proc/sys/fs/inotify/max_user_instancesSi es necesario, actualiza
max_user_instancesal valor mínimo:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.confComprueba el valor de
max_user_watches:cat /proc/sys/fs/inotify/max_user_watchesSi es necesario, actualiza
max_user_watchesal valor mínimo:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.confSi actualizaste alguno de los valores, reinicia la máquina.
Prácticas recomendadas
Para simplificar la instalación, recomendamos que configures RHEL con una instalación mínima con administración sin interfaz gráfica. Además, asegúrate de habilitar tu
conexión de red
y de usar el DHCP predeterminado o proporcionar una dirección IP estática y válida, además de
información de la red. Asegúrate de que la máquina pueda conectarse a los recursos externos requeridos, como cloud.google.com.
Si Docker no se ejecuta, verifica que el daemon de Docker se esté ejecutando con el siguiente comando:
sudo systemctl start docker