Jon*_*cht 4 linux bash kvm openstack cloud-init
我正在寻找一种将ip-address传递给cloud-init元数据的方法.因此,当我的qcow启动时,它不必等待120 - 180秒启动.
目前,我已经通过将IP地址信息添加到cloud-init的userdata部分来创建了一种解决方法.问题是,它确实需要一些时间,因为cloud-init userdata仅在引导VM后执行.
echo -e "
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
\taddress $address
\tnetmask $netmask
\tgateway $gateway
\tdns-nameservers $dnsnameservers
" > /etc/network/interfaces
ifdown eth0; ifup eth0
Run Code Online (Sandbox Code Playgroud)
目前要在cloud-init元数据中设置主机名,我已经获得了这个部分:
cat > $config_dir/meta-data <<-EOF
instance-id: $uuid
hostname: $hostname
local-hostname: $hostname
EOF
Run Code Online (Sandbox Code Playgroud)
但我需要更扎实,更具体的东西,因为cloud-init文档非常模糊
编辑:我已经看到它是可能的,因为Openstack可以做到这一点.
小智 8
可以使用以下格式:
network-interfaces: |
auto lo
iface lo inet loopback
iface eth0 inet static
address xxx.xxx.xxx.xxx (static ip)
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx (gateway ip, usually ip address of router)
Run Code Online (Sandbox Code Playgroud)
您基本上写出了您希望接口具有的配置,因为只要您具有"network-interfaces:|",接口文件就会显示出来.
希望这能回答你的问题!
归档时间: |
|
查看次数: |
8959 次 |
最近记录: |