簡體   English   中英

使用 cloud-init 更改 resolv.conf

[英]Using cloud-init to change resolv.conf

我希望我的 openstack 設置能夠工作,這樣當我啟動一個新實例時,應該將 8.8.8.8 添加到 dns-nameservers。

這是我的舊 /etc/resolv.conf(在 openstack 中生成的新 VM 中)-

nameserver 10.0.0.2
search openstacklocal

這是我想要的新 resolv.conf -

nameserver 8.8.8.8
nameserver 10.0.0.2
search openstacklocal

我遵循了教程,並添加了必要的信息。 將 conf 解析到我的 cloud-init 配置文件(/etc/cloud/cloud.cfg) -

manage_resolv_conf: true

resolv_conf:
  nameservers: ['8.8.4.4', '8.8.8.8']
  searchdomains:
    - foo.example.com
    - bar.example.com
  domain: example.com
  options:
    rotate: true
    timeout: 1

這些更改在 openstack 主機的 /etc/cloud/cloud.cfg 文件中進行。 然而,這些變化似乎沒有得到反映。

有什么建議嗎?

它不會工作,因為 cloud-init 網絡配置在啟動過程中發生得太早。

查看雲初始化階段: https : //cloudinit.readthedocs.io/en/latest/topics/boot.html

網絡配置在“本地”階段完成,但來自 Openstack 的用戶數據僅在網絡啟動后的“配置”階段下載。 在這個階段,網絡配置被忽略。

相反,您需要編輯網絡文件,然后通過使用runcmd將命令傳遞給 cloud-init 來啟動接口。

Cloud-init 會覆蓋 /etc/sysconfig/network 文件以及 resolv.conf 的條目。 要禁用此功能,您可以通過創建文件 /etc/cloud/cloud.cfg.d/custom-network-rule.cfg 來為 cloud-init 配置創建自定義規則,其中包含 -

network: {config: disabled}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM