Configurer Ubuntu

Vous devez configurer le système d'exploitation de base de vos machines de nœuds pour utiliser GKE sur une solution Bare Metal. Cette page contient la procédure à suivre pour terminer la configuration requise. Pour en savoir plus sur la résolution des problèmes liés à GKE sur une solution Bare Metal, consultez les problèmes connus.

Avant de commencer

Assurez-vous d'utiliser une version compatible de votre système d'exploitation et un noyau HWE (Ubuntu Hardware Enablement). Pour obtenir la liste des versions compatibles, consultez la page Sélectionner votre système d'exploitation.

Activer le compilateur BPF Just In Time

L'option du 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

  • Exécutez la commande suivante pour vérifier que le gestionnaire de packages fonctionne correctement:

    sudo apt-get check
    

    Le résultat ne doit afficher aucune erreur et devrait ressembler à l'exemple suivant :

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

Désactiver le pare-feu UFW (Uncomplicated Firewall)

  1. Désactivez ufw :

    sudo ufw disable
    
  2. Vérifiez que ufw est désactivé :

    sudo ufw status
    # Status: inactive
    

Configurer Docker sur votre station de travail

GKE sur Bare Metal vous aide à installer Docker sur vos machines Bare Metal dans les cas suivants:

  • Si Docker n'est pas installé sur vos machines Bare Metal, bmctl installe la version 20.10.0 ou une version ultérieure.
  • Si Docker 19.03.5 ou une version antérieure est installé sur vos machines Bare Metal, bmctl met à niveau Docker vers la version 20.10.0 ou une version ultérieure.

Pour installer Docker manuellement, procédez comme suit :

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

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. Mettez à jour votre gestionnaire de paquets :

    sudo apt-get update
    
  3. Installez Docker 20.10.0+:

    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common \
      docker.io
    
  4. Vérifiez que vous utilisez la version 20.10.0 ou une version ultérieure:

    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
    

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 Ubuntu 22.04, les limites inotify du noyau Linux pour le nombre maximal d'instances et d'écrans d'utilisateurs doivent être supérieures ou égales à ce qui suit:

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

Pour vous assurer que ces valeurs sont correctement définies sur vos machines de nœuds:

  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 modifié l'une ou l'autre de ces valeurs, redémarrez la machine.