cloud-init在centos中关于静态ip和hostname的配置

我使用的是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即可)

posted on 2020-11-27 16:14  sixiiweb  阅读(1788)  评论(0编辑  收藏  举报

导航