我使用的是cloud-init 版本是 19.4。

一般情况下,都是希望按照规则修改ip或者hostname,但是我的需求比较特殊:我希望当创建新实例的时候,cloud-init不要去修改机器名,并且不要修改网卡的网络设置,不要修改机器的语言设置。

我默认是两个网卡,一个dhcp用来连接外网,一个是静态ip,用来跑自己的业务。

参考了网上不少文章依然无法实现我的目的,后来花了个把小时爬了一下官网的文档,解决了,我的配置如下:

在/etc/cloud/cloud.cfg中增加如下配置,禁用Cloud-init接管网络配置:

network: 
 config: disabled

 

删除如下配置:

 - set_hostname
 - update_hostname
- locale

 

新增如下配置文件:

/etc/cloud/cloud.cfg.d/00_preserve_hostname.cfg

输入如下内容:

preserve_hostname: true

 

以root用户执行以下命令:

rm -rf /var/lib/cloud/*

 

关闭VM后,制作镜像即可。

 完整的cloud.cfg文件如下:

文件地址(下载后删除扩展名的.js即可)

相关文章:

  • 2021-08-23
  • 2021-04-18
  • 2022-12-23
  • 2021-11-15
  • 2021-09-17
猜你喜欢
  • 2021-12-04
  • 2021-06-09
  • 2021-09-23
  • 2021-05-25
  • 2021-12-17
  • 2021-04-01
相关资源
相似解决方案