Redis
 sql >> Base de données >  >> NoSQL >> Redis

gke ne peut pas désactiver les pages volumineuses transparentes... autorisation refusée

Votre commande est légèrement incorrecte :echo s'exécute en tant que root mais la redirection elle-même (> ) s'exécute en tant qu'utilisateur afin qu'il ne puisse pas écrire /sys/ .

La commande suivante fonctionne bien les deux sur container-vm (basé sur debian) et gci (basé sur chromeos) :

sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'

Persistance de ce paramètre sur container-vm

Ajoutez ce paramètre de ligne de commande du noyau dans /etc/default/grub (n'oubliez pas d'exécuter sudo update-grub et sudo reboot après):

GRUB_CMDLINE_LINUX="... transparent_hugepage=never"

Persistance de ce paramètre sur gci

Tout d'abord, à l'aide de la console cloud, copiez le modèle d'instance utilisé par le pool de nœuds.

Deuxièmement, sous métadonnées, modifiez la valeur de userdata :

#cloud-config

write_files:
  - path: /etc/systemd/system/hugepage.service
    permissions: 0644
    owner: root
    content: |
      [Unit]
      Description=Disable THP

      [Service]
      Type=oneshot
      ExecStart=/bin/sh -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"

      [Install]
      WantedBy=kubernetes.target
...
runcmd:
 - ...
 - systemctl enable hugepage.service
 - systemctl start kubernetes.target

Troisièmement, remplacez le modèle d'instance par celui que vous venez de créer :

gcloud compute instance-groups managed set-instance-template \
  gke-YOUCLUSTER-YOURPOOL-grp \
  --template=YOURNEWTEMPLATENAME \
  --zone=...

Quatrièmement, recréez la ou les instances :

gcloud compute instance-groups managed recreate-instances \
   gke-YOUCLUSTER-YOURPOOL-grp \
   --zone=... \
   --instances=...

Les instances vont perdre toutes les données et venir avec THP désactivé. THP sera également désactivé pour toutes les nouvelles instances (dans ce pool de nœuds).