Din kommando er lidt forkert:echo
kører som root, men selve omdirigeringen (> ) kører som bruger, så den kan ikke skrive
/sys/
.
Den følgende kommando fungerer fint begge på container-vm (debian-baseret) og gci (chromeos-baseret):
sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
Bevarer denne indstilling på container-vm
Tilføj denne kerne-kommandolinjeparameter til /etc/default/grub
(glem ikke at køre sudo update-grub
og sudo genstart
bagefter):
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
Bevarer denne indstilling på gci
Først skal du bruge cloud-konsollen til at kopiere den instansskabelon, der er i brug af nodepuljen.
For det andet skal du ændre værdien for brugerdata under metadata:
#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
For det tredje skal du ændre instansskabelonen til den nyoprettede:
gcloud compute instance-groups managed set-instance-template \
gke-YOUCLUSTER-YOURPOOL-grp \
--template=YOURNEWTEMPLATENAME \
--zone=...
Genskab derefter instace(erne):
gcloud compute instance-groups managed recreate-instances \
gke-YOUCLUSTER-YOURPOOL-grp \
--zone=... \
--instances=...
Forekomsterne vil tabe alle data og kom op med THP deaktiveret. Alle nye forekomster vil også have THP deaktiveret (i denne nodepulje).