Para usar Google Distributed Cloud, debes configurar el sistema operativo Ubuntu base en tus máquinas de nodo. La configuración de 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 solucionar problemas con los requisitos de Google Distributed Cloud, consulta los problemas conocidos.
Antes de comenzar
Asegúrate de usar una versión compatible de tu sistema operativo y un kernel de Habilitación de hardware de Ubuntu (HWE). 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 actualizar o
crear 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.
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
Usa el siguiente comando para validar que el administrador de paquetes funcione correctamente:
sudo apt-get checkEl resultado no debería mostrar errores y debería ser similar al siguiente ejemplo:
# Reading package lists... Done # Building dependency tree # Reading state information... Done
Inhabilita el Uncomplicated Firewall (UFW)
Inhabilita
ufw:sudo ufw disableVerifica que
ufwesté inhabilitado:sudo ufw status # Status: inactive
Configura Docker en tu estación de trabajo
Google Distributed Cloud te ayuda a instalar Docker en tus máquinas de equipos físicos en las siguientes situaciones:
- Si tus máquinas de equipos físicos no tienen Docker instalado,
bmctlinstala 20.10.0 o versiones posteriores. - Si tus máquinas de equipos físicos tienen Docker 19.03.5 o una versión anterior,
bmctlactualiza Docker a la versión 20.10.0 o posterior.
Sigue estos pasos para instalar Docker manualmente:
Quita cualquier versión anterior de Docker:
sudo apt-get remove docker docker-engine docker.io containerd runcActualiza el administrador de paquetes:
sudo apt-get updateInstala Docker 20.10.0+:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.ioVerifica que esté ejecutando la versión 20.10.0+ de la siguiente manera:
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.3
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 Ubuntu 22.04, los límites del kernel de Linux inotify
para las instancias de usuario y las observaciones de usuario máximas deben ser mayores o iguales que
los siguientes:
fs.inotify.max_user_instances:8192fs.inotify.max_user_watches:524288
Para asegurarte de que estos valores se establezcan correctamente en tus máquinas de nodo, haz lo siguiente:
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.