当前位置:  开发笔记 > 编程语言 > 正文

将IP地址传递给cloud-init元数据

如何解决《将IP地址传递给cloud-init元数据》经验,为你挑选了1个好方法。

我正在寻找一种将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

目前要在cloud-init元数据中设置主机名,我已经获得了这个部分:

cat > $config_dir/meta-data <<-EOF
instance-id: $uuid
hostname: $hostname
local-hostname: $hostname
EOF

但我需要更扎实,更具体的东西,因为cloud-init文档非常模糊

编辑:我已经看到它是可能的,因为Openstack可以做到这一点.



1> 小智..:

可以使用以下格式:

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)

您基本上写出了您希望接口具有的配置,因为只要您具有"network-interfaces:|",接口文件就会显示出来.

希望这能回答你的问题!


这必须进入文件元数据,顺便说一句.另见[cloud-init.readthedocs.io](http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html#datasource-nocloud)
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有