sql >> Base de Datos >  >> NoSQL >> Redis

gke no puede deshabilitar Transparent Huge Pages... permiso denegado

Su comando es ligeramente incorrecto:echo se ejecuta como root pero la redirección en sí misma (> ) se ejecuta como usuario, por lo que no puede escribir /sys/ .

El siguiente comando funciona bien ambos en container-vm (basado en Debian) y gci (basado en Chromeos):

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

Mantener esta configuración en container-vm

Agregue este parámetro de línea de comando del kernel en /etc/default/grub (no olvide ejecutar sudo update-grub y sudo reboot después):

GRUB_CMDLINE_LINUX="... transparent_hugepage=never"

Mantener esta configuración en gci

Primero, usando la consola en la nube, copie la plantilla de instancia que está usando el grupo de nodos.

En segundo lugar, en metadatos, cambie el valor de los datos de usuario:

#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

Tercero, cambie la plantilla de instancia a la recién creada:

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

En cuarto lugar, vuelva a crear la(s) instancia(s):

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

Las instancias perderán todos los datos y llegar a THP deshabilitado. Todas las instancias nuevas también tendrán THP deshabilitado (en este grupo de nodos).