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)
Per disattivare
ufw
:sudo ufw disable
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:
Rimuovi qualsiasi versione Docker precedente:
sudo apt-get remove docker docker-engine docker.io containerd runc
Aggiorna il gestore di pacchetti:
sudo apt-get update
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
Verifica che sia ora in esecuzione la versione 20.10.0 o successive:
sudo docker version
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:
Controlla il valore di
max_user_instances
:cat /proc/sys/fs/inotify/max_user_instances
Se necessario, aggiorna
max_user_instances
al valore minimo:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
Controlla il valore di
max_user_watches
:cat /proc/sys/fs/inotify/max_user_watches
Se necessario, aggiorna
max_user_watches
al valore minimo:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
Se hai aggiornato uno dei due valori, riavvia la macchina.