繁体   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