Uw opdracht is enigszins onjuist:echo
draait als root, maar de omleiding zelf (>
) wordt uitgevoerd als gebruiker, dus het kan niet schrijven /sys/
.
De volgende opdracht werkt prima beide op container-vm (gebaseerd op Debian) en gci (gebaseerd op Chromeos):
sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
Deze instelling aanhouden op container-vm
Voeg deze kernelopdrachtregelparameter toe aan /etc/default/grub
(vergeet niet om sudo update-grub
uit te voeren en sudo reboot
daarna):
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
Deze instelling aanhouden op gci
Gebruik eerst de cloudconsole om de instantiesjabloon te kopiëren die door de node-pool wordt gebruikt.
Ten tweede, verander onder metadata de waarde voor gebruikersdata:
#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
Wijzig ten derde de instantiesjabloon in de nieuw gemaakte:
gcloud compute instance-groups managed set-instance-template \
gke-YOUCLUSTER-YOURPOOL-grp \
--template=YOURNEWTEMPLATENAME \
--zone=...
Forth, maak de instantie(s) opnieuw aan:
gcloud compute instance-groups managed recreate-instances \
gke-YOUCLUSTER-YOURPOOL-grp \
--zone=... \
--instances=...
De instanties zullen alle gegevens verliezen en kom met THP uitgeschakeld. Alle nieuwe instanties hebben ook THP uitgeschakeld (in deze node-pool).