Cloud-Init
如何在 CoreOS cloud-init 中設置 sysctl 變數?
我正在尋找一種
sysctl
在其cloud-init
階段設置 CoreOS 設置的方法。CoreOS 版本
cloud-init
僅允許少數配置指令,與正常的cloud-init
. 例如,沒有runcmd
部分(請參閱http://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/)。
systemd
提供了一種sysctl
通過文件管理設置的方法(http://www.freedesktop.org/software/systemd/man/sysctl.d.html)。我正在使用 CoreOScloud-init
write_files
部分在/etc/sysctl.d/50-nf_conntrack.conf
. 但它不會被拾取,因為 CoreOS 雲配置是在sysctl.d
配置已經發生之後發生的。也許我可以以某種方式使用另一個
systemd
單元文件來重新啟動sysctl.d
單元?這怎麼可能實現?
在 CoreOS github 問題跟踪器上查看答案: https ://github.com/coreos/bugs/issues/747#issuecomment-142764415
將來可能會有更簡單的方法,但現在您可以簡單地編寫一個單元來在 cloudinit 期間呼叫 systemd-sysctl;它將在 write_files 中指定的任何文件寫入後啟動:
#cloud-config .... coreos: units: - name: update-sysctl.service command: start content: | [Unit] Description=Update sysctl values written by cloud-config [Service] ExecStart=/usr/lib/systemd/systemd-sysctl ...