Configurare Ubuntu

Devi configurare il sistema operativo di base delle macchine dei nodi per utilizzare Google Distributed Cloud. Questa pagina contiene i passaggi da seguire per completare la configurazione necessaria. Per ulteriori informazioni sulla risoluzione dei problemi relativi ai requisiti di Google Distributed Cloud, consulta i problemi noti.

Prima di iniziare

Assicurati di utilizzare una versione supportata del sistema operativo e un kernel Ubuntu Hardware Enablement (HWE). Per un elenco delle versioni supportate, consulta Seleziona il tuo sistema operativo.

Attiva il compilatore BPF Just In Time

Nel kernel del sistema operativo deve essere attivata l'opzione del compilatore JIT BPF (CONFIG_BPF_JIT=y).

  • Per scoprire se questa opzione è abilitata, esegui il seguente comando:

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

Convalida il gestore dei pacchetti

  • Utilizza il seguente comando per verificare che il gestore dei pacchetti funzioni correttamente:

    sudo apt-get check
    

    L'output non deve mostrare errori e dovrebbe essere simile all'esempio seguente:

    # Reading package lists... Done
    # Building dependency tree
    # Reading state information... Done
    

Disattivare Uncomplicated Firewall (UFW)

  1. Disattiva ufw:

    sudo ufw disable
    
  2. Verifica che ufw sia disattivato:

    sudo ufw status
    # Status: inactive
    

Configurare Docker sulla workstation

Google Distributed Cloud ti aiuta a installare Docker sulle tue macchine bare metal nei seguenti scenari:

  • Se sulle macchine bare metal non è installato Docker, bmctl installa la versione 20.10.0 o successive.
  • Se sulle macchine bare metal è installato Docker 19.03.5 o una versione precedente, bmctl esegue l'upgrade di Docker alla versione 20.10.0 o successiva.

Per installare manualmente Docker:

  1. Rimuovi eventuali versioni precedenti di Docker:

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. Aggiorna il gestore dei pacchetti:

    sudo apt-get update
    
  3. Installa Docker 20.10.0 o versioni successive:

    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common \
      docker.io
    
  4. Verifica di eseguire la versione 20.10.0 o successive:

    sudo docker version
    
  5. Confronta l'output con l'esempio seguente per assicurarti che le versioni del client e del server siano 20.10.0 o successive :

     Client: Docker Engine - Community
     Version:           25.0.3
     ...
     Server: Docker Engine - Community
      Engine:
      Version:          25.0.3
    

Configurare la sincronizzazione dell'ora

La sincronizzazione dell'ora consiste nell'impostare gli orologi sulle macchine dei nodi utilizzando un riferimento orario esterno designato. La sincronizzazione dell'ora è importante per le attività dei cluster sensibili al tempo, come la registrazione degli eventi e la raccolta delle metriche. Il kernel della macchina nodo controlla l'orologio nei container in esecuzione sul nodo. Per garantire una corretta sincronizzazione dell'ora, installa un servizio NTP (Network Time Protocol) sulle tue macchine utilizzando uno dei servizi disponibili: chrony, systemd-timesyncd, ntp o ntpdate. Esegui timedatectl per verificare che l'orologio di sistema sia sincronizzato. L'output di timedatectl dovrebbe contenere il seguente stato:

System clock synchronized: yes

Assicurati che i limiti del kernel inotify di Linux siano uguali o superiori al minimo

Per le macchine con Ubuntu 22.04, i limiti del kernel inotify di Linux per le istanze utente massime e gli osservatori utente devono essere maggiori o uguali a quanto segue:

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

Per assicurarti che questi valori siano impostati correttamente sulle macchine dei nodi:

  1. Controlla il valore di max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. Se necessario, aggiorna max_user_instances con il valore minimo:

    echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
    
  3. Controlla il valore di max_user_watches:

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. Se necessario, aggiorna max_user_watches con il valore minimo:

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. Se hai aggiornato uno dei valori, riavvia la macchina.