Configurer RHEL

Pour utiliser Google Distributed Cloud, vous devez configurer le système d'exploitation de base de vos machines de nœud. Cette page contient la procédure à suivre pour terminer la configuration requise. Pour en savoir plus sur le dépannage de Google Distributed Cloud, consultez les guides de dépannage.

Avant de commencer

Assurez-vous que vous utilisez une version de système d'exploitation compatible. Pour obtenir la liste des versions compatibles, consultez la section Sélectionner votre système d'exploitation.

Activer le compilateur BPF Just In Time

L'option de compilateur BPF Just In Time doit être activée sur le noyau de votre système d'exploitation (CONFIG_BPF_JIT=y).

  • Pour savoir si cette option est activée, exécutez la commande suivante:

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

Valider le gestionnaire de packages

Assurez-vous de disposer de votre nom d'utilisateur et de votre mot de passe RedHat, et d'un accès racine aux machines que vous configurez. Validez le gestionnaire de packages en procédant comme suit :

  1. Si vous n'avez pas enregistré votre système d'exploitation, inscrivez-vous auprès de RedHat à l'aide de votre nom d'utilisateur et de votre mot de passe pour télécharger les mises à jour :

    sudo subscription-manager register
    
    sudo subscription-manager refresh
    
    sudo subscription-manager attach --auto
    
  2. Recherchez des mises à jour :

    sudo dnf check-update
    

    Assurez-vous que le résultat ne comporte aucune erreur et inclut la dernière vérification de l'expiration des métadonnées. Exemple :

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

Configurer ou désactiver firewalld

Firewalld peut être configuré pour être utilisé avec Google Distributed Cloud ou désactivé. Pour plus d'informations sur la configuration de firewalld, consultez la section Configurer les ports de firewalld sur la page "Exigences réseau".

Les instructions suivantes désactivent firewalld.

  1. Désactivez firewalld :

    sudo systemctl stop firewalld
    
    sudo systemctl disable firewalld
    
  2. Vérifiez l'état de firewalld pour vous assurer qu'il est désactivé :

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

Configurer Docker sur votre station de travail

Pour installer Docker manuellement, procédez comme suit :

  1. Supprimez toute version précédente de Docker :

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

    sudo dnf remove podman-manpages
    
  3. Installez Docker 20.10.0+:

    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. Vérifiez que vous exécutez maintenant la version 20.10.0+:

    sudo docker version
    
  5. Comparez votre résultat avec l'exemple suivant pour vous assurer que les versions du client et du serveur sont 20.10.0+:

    Client: Docker Engine - Community
    Version:           25.0.3
    ...
    Server: Docker Engine - Community
    Engine:
    Version:          25.0.3
    
  6. Vérifiez que Docker s'exécute :

    docker run hello-world
    

    Le résultat doit ressembler à ceci :

    Hello from Docker!
    

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

Configurer la synchronisation horaire

La synchronisation horaire consiste à définir les horloges de vos machines de nœud en utilisant une référence de temps externe désignée. La synchronisation horaire est importante pour les activités de cluster urgentes, telles que la journalisation d'événements et la collecte de métriques. Le noyau de votre machine de nœud contrôle l'horloge des conteneurs exécutés sur le nœud. Pour assurer une synchronisation horaire appropriée, installez un service de protocole réseau (NTP) sur vos machines en utilisant l'un des services disponibles : chrony, systemd-timesyncd, ntp ou ntpdate. Exécutez timedatectl pour vérifier que l'horloge système est bien synchronisée. La sortie de timedatectl doit contenir l'état suivant :

System clock synchronized: yes

Assurez-vous que les limites de inotify du noyau Linux sont supérieures ou égales à la valeur minimale

Pour les machines exécutant RHEL 9, les limites de inotify du noyau Linux pour le nombre maximal d'instances et d'observations doivent être supérieures ou égales à la valeur suivante:

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

Assurez-vous que ces valeurs sont correctement définies sur vos machines de nœud:

  1. Vérifiez la valeur de max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. Si nécessaire, remplacez max_user_instances par la valeur minimale:

    echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
    
  3. Vérifiez la valeur de max_user_watches:

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. Si nécessaire, remplacez max_user_watches par la valeur minimale:

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. Si vous avez mis à jour l'une des valeurs, redémarrez la machine.

Bonnes pratiques

Pour simplifier l'installation, nous vous recommandons de configurer RHEL sur une installation minimale, sans interface graphique. Veillez également à activer votre connexion réseau, et à utiliser le protocole DHCP par défaut ou à fournir une adresse IP statique et des informations réseau valides. Assurez-vous que la machine peut se connecter aux ressources externes requises, telles que cloud.google.com.

Si Docker ne s'exécute pas, vérifiez que le daemon Docker s'exécute à l'aide de la commande suivante :

sudo systemctl start docker