Configurer Ubuntu

Pour utiliser Google Distributed Cloud, vous devez configurer le système d'exploitation Ubuntu de base sur vos machines de nœud. La configuration des gestionnaires de packages, des paramètres de noyau et des services système requis prépare vos nœuds au déploiement du cluster. Pour résoudre les problèmes liés aux exigences de Google Distributed Cloud, consultez les problèmes connus.

Avant de commencer

Assurez-vous que vous utilisez une version de système d'exploitation compatible et un noyau d'activation matériel (HWE) Ubuntu. Pour obtenir la liste des versions compatibles, consultez la section Sélectionner votre système d'exploitation.

Activer cgroupsv2

Google Distributed Cloud (logiciel uniquement) pour solution Bare Metal version 1.35 et ultérieures nécessite cgroupsv2. Votre système d'exploitation doit être compatible avec cgroupsv2 pour mettre à niveau ou créer des clusters.

Google Distributed Cloud empêche la création ou la mise à niveau de clusters si cgroupsv1 est détecté lors des vérifications préliminaires. Pour savoir comment migrer votre système d'exploitation vers cgroupsv2, consultez Migrer vers cgroup v2 dans la documentation Kubernetes.

Activer le compilateur opportun BPF

L'option de compilateur opportun BPF doit être activée pour 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 paquets

  • Utilisez la commande suivante pour vérifier que le gestionnaire de paquets 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 poste de travail

Google Distributed Cloud vous permet d'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 19.03.13 ou une version ultérieure.
  • Si Docker 19.03.5 ou version antérieure est installé sur vos machines bare metal, bmctl met à niveau Docker vers la version 20.10.0 ou 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 ou une version ultérieure :

    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 à l'exemple suivant pour vous assurer que les versions Client et Serveur sont en version 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 des é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

S'assurer que les limites inotify du noyau Linux sont égales ou supérieures au minimum.

Pour les machines exécutant Ubuntu 22.04, les limites inotify du noyau Linux pour les instances utilisateur et les montres utilisateur doivent être supérieures ou égales aux valeurs suivantes :

  • 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, mettez à jour max_user_instances avec 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, mettez à jour max_user_watches avec la valeur minimale :

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