Configura Ubuntu

Per utilizzare GKE su Bare Metal, devi configurare il sistema operativo di base delle macchine nodo. Questa pagina contiene i passaggi da seguire per completare la configurazione necessaria. Per ulteriori informazioni sulla risoluzione dei problemi di GKE su Bare Metal, consulta i problemi noti.

Prima di iniziare

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

Attiva il compilatore Just In Time BPF

Nel kernel del tuo sistema operativo deve essere abilitata l'opzione del compilatore Just In Time BPF (CONFIG_BPF_JIT=y).

  • Per sapere se questa opzione è abilitata, esegui questo comando:

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

Convalida il gestore di pacchetti

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

    sudo apt-get check
    

    L'output non dovrebbe mostrare errori ed essere simile al seguente esempio:

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

Disattiva firewall senza complicazioni (UFW)

  1. Per disattivare ufw:

    sudo ufw disable
    
  2. Verifica che l'app ufw sia disattivata:

    sudo ufw status
    # Status: inactive
    

Configura Docker sulla tua workstation

GKE su Bare Metal ti consente di installare Docker sulle tue macchine bare metal nei seguenti scenari:

  • Se sulle tue macchine Bare Metal non è installato Docker, bmctl installa la versione 20.10.0 o successiva.
  • Se sulle tue macchine bare metal è installato Docker 19.03.5 o versioni precedenti, bmctl esegue l'upgrade di Docker alla versione 20.10.0 o successiva.

Segui questi passaggi per installare manualmente Docker:

  1. Rimuovi qualsiasi versione Docker precedente:

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. Aggiorna il gestore di 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 che sia ora in esecuzione la versione 20.10.0 o successive:

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

     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'impostazione degli orologi sulle macchine nodo utilizzando un riferimento temporale esterno designato. La sincronizzazione dell'ora è importante per le attività dei cluster basate sul tempo, come il logging degli eventi e la raccolta di metriche. Il kernel della macchina nodo controlla l'orologio nei container in esecuzione sul nodo. Per garantire una corretta sincronizzazione dell'orario, 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 deve contenere il seguente stato:

System clock synchronized: yes

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

Per le macchine che eseguono Ubuntu 22.04, i limiti inotify del kernel Linux per il numero massimo di istanze utente e smartwatch 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 nodo:

  1. Controlla il valore di max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. Se necessario, aggiorna max_user_instances al 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 al valore minimo:

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