Redis
 sql >> Database >  >> NoSQL >> Redis

gke non può disabilitare Transparent Huge Pages... autorizzazione negata

Il tuo comando è leggermente errato:echo viene eseguito come root ma il reindirizzamento stesso (> ) viene eseguito come utente, quindi non può scrivere /sys/ .

Il comando seguente funziona bene entrambi su container-vm (basato su Debian) e gci (basato su Chromes):

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

Persistenza di questa impostazione su container-vm

Aggiungi questo parametro della riga di comando del kernel in /etc/default/grub (non dimenticare di eseguire sudo update-grub e sudo reboot dopo):

GRUB_CMDLINE_LINUX="... transparent_hugepage=never"

Mantenere questa impostazione su gci

Innanzitutto, utilizzando la console cloud, copia il modello di istanza utilizzato dal pool di nodi.

In secondo luogo, sotto i metadati cambia il valore per i dati utente:

#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

Terzo, cambia il modello di istanza con quello appena creato:

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

In seguito, ricrea le istanze:

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

Le istanze perderanno tutti i dati e vieni con THP disabilitato. Anche tutte le nuove istanze avranno THP disabilitato (in questo pool di nodi).