Ditt kommando är något felaktigt:echo
körs som root men själva omdirigeringen (>
) körs som användare så den kan inte skriva /sys/
.
Följande kommando fungerar bra båda på container-vm (debianbaserad) och gci (chromeosbaserad):
sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
Behåller den här inställningen på container-vm
Lägg till den här kärnans kommandoradsparameter i /etc/default/grub
(glöm inte att köra sudo update-grub
och sudo reboot
efteråt):
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
Behåller den här inställningen på gci
Använd först molnkonsolen och kopiera instansmallen som används av nodpoolen.
För det andra, ändra värdet för användardata 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
För det tredje, ändra instansmallen till den nyskapade:
gcloud compute instance-groups managed set-instance-template \
gke-YOUCLUSTER-YOURPOOL-grp \
--template=YOURNEWTEMPLATENAME \
--zone=...
Återskapa sedan instanserna:
gcloud compute instance-groups managed recreate-instances \
gke-YOUCLUSTER-YOURPOOL-grp \
--zone=... \
--instances=...
Förekomsterna kommer att förlora all data och kom med THP inaktiverad. Alla nya instanser kommer också att ha THP inaktiverat (i denna nodpool).