Configura Ubuntu

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 check
    

    El 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)

  1. Inhabilita ufw:

    sudo ufw disable
    
  2. Verifica que ufw esté 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, bmctl instala 20.10.0 o versiones posteriores.
  • Si tus máquinas de equipos físicos tienen Docker 19.03.5 o una versión anterior, bmctl actualiza Docker a la versión 20.10.0 o posterior.

Sigue estos pasos para instalar Docker manualmente:

  1. Quita cualquier versión anterior de Docker:

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. Actualiza el administrador de paquetes:

    sudo apt-get update
    
  3. Instala Docker 20.10.0+:

    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common \
      docker.io
    
  4. Verifica que esté ejecutando la versión 20.10.0+ de la siguiente manera:

    sudo docker version
    
  5. Compara 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: 8192
  • fs.inotify.max_user_watches: 524288

Para asegurarte de que estos valores se establezcan correctamente en tus máquinas de nodo, haz lo siguiente:

  1. Comprueba el valor de max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. Si es necesario, actualiza 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, actualiza max_user_watches al valor mínimo:

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. Si actualizaste alguno de los valores, reinicia la máquina.