我使用的是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文件如下: