Configura RHEL

Devi configurare il sistema operativo di base delle macchine nodo da utilizzare Google Distributed Cloud. Questa pagina contiene i passaggi da seguire per completare configurazione necessaria. Per ulteriori informazioni sulla risoluzione dei problemi, Google Distributed Cloud, consulta guide alla risoluzione dei problemi.

Prima di iniziare

Assicurati di utilizzare una versione supportata del sistema operativo. Per un elenco di le versioni supportate, consulta Seleziona il tuo sistema operativo.

Attiva compilatore BPF Just In Time

Il kernel per il tuo sistema operativo deve avere il compilatore BPF Just In Time abilitata (CONFIG_BPF_JIT=y).

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

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

Convalida del gestore di pacchetti

Assicurati di avere il nome utente e la password RedHat e di disporre del root alle macchine che stai configurando. Convalida il gestore di pacchetti con seguenti passaggi:

  1. Se non hai ancora registrato il tuo sistema operativo, registrati a RedHat utilizzando il tuo nome utente e la tua password RedHat per scaricare gli aggiornamenti:

    sudo subscription-manager register
    
    sudo subscription-manager refresh
    
    sudo subscription-manager attach --auto
    
  2. Verifica la disponibilità di aggiornamenti:

    sudo dnf check-update
    

    Assicurati che l'output non contenga errori e includa l'ultima scadenza dei metadati controllo. Ad esempio:

    Updating Subscription Management repositories.
    ...
    # Last metadata expiration check: ...
    ...
    

Configura o disattiva firewall

Firewalld può essere configurato per l'utilizzo con Google Distributed Cloud o disabilitato. Per informazioni sulla configurazione firewall, consulta Configura porte protette da firewall della pagina Requisiti di rete.

Le seguenti istruzioni hanno disattivato il firewall.

  1. Disabilitazione del firewall:

    sudo systemctl stop firewalld
    
    sudo systemctl disable firewalld
    
  2. Controlla lo stato di firewalld per assicurarti che sia disabilitato:

    sudo systemctl status firewalld | grep "Active"
    # Output
    # Active: inactive (dead)
    

Configura Docker sulla workstation

Segui questi passaggi per installare manualmente Docker:

  1. Rimuovi qualsiasi versione precedente di Docker:

    sudo dnf remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
    
  2. Rimuovi podman-manpages:

    sudo dnf remove podman-manpages
    
  3. Installa Docker 20.10.0 o versioni successive:

    sudo dnf install -y yum-utils
    
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/rhel/docker-ce.repo
    
    sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io
    
    sudo systemctl start docker
    
  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 risorse client e Le versioni server sono 20.10.0+:

    Client: Docker Engine - Community
    Version:           25.0.3
    ...
    Server: Docker Engine - Community
    Engine:
    Version:          25.0.3
    
  6. Verifica le esecuzioni di Docker:

    docker run hello-world
    

    Il risultato dovrebbe essere simile a questo:

    Hello from Docker!
    

    This message shows that your installation appears to be working correctly.

Configurare la sincronizzazione dell'ora

La sincronizzazione dell'ora consiste nell'impostare gli orologi sulle macchine nodo, utilizzando un riferimento temporale esterno designato. La sincronizzazione dell'ora è importante le attività del cluster time-senttive, come il logging degli eventi e la raccolta di metriche. Il kernel della tua macchina nodo controlla l'orologio nei container in esecuzione nodo. Per garantire una corretta sincronizzazione dell'ora, installa un protocollo degli orari di rete (NTP) sulle tue macchine, utilizzando uno qualsiasi dei servizi disponibili: chrony, systemd-timesyncd ntp o ntpdate. Esegui timedatectl per verificare che l'orologio di sistema sia sincronizzati. L'output di timedatectl dovrebbe contenere il seguente stato:

System clock synchronized: yes

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

Per le macchine che eseguono RHEL 9, limiti del kernel Linux inotify per il numero massimo di istanze e orologi utente deve essere maggiore o uguale al seguenti:

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

Assicurati che questi valori siano impostati correttamente sulle tue macchine nodo:

  1. Verifica il valore di max_user_instances:

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

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

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. Se necessario, aggiorna max_user_watches impostandolo sul 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.

Best practice

Per semplificare l'installazione, ti consigliamo di configurare RHEL utilizzando una per l'installazione con gestione headless. Inoltre, assicurati di attivare connessione di rete e utilizzare il protocollo DHCP predefinito o fornire un indirizzo IP statico e valido le informazioni di rete. Assicurati che la macchina possa connettersi le risorse esterne richieste, ad esempio cloud.google.com.

Se Docker non riesce a essere eseguito, verifica che il daemon Docker sia in esecuzione con il seguente comando:

sudo systemctl start docker