cloud init:无法呈现网络

cloud init:无法呈现网络,cloud,kvm,libvirt,cloud-init,fedora-29,Cloud,Kvm,Libvirt,Cloud Init,Fedora 29,我正在尝试使用“NoCloud”部署“Fedora-AtomicHost-29-20190219”映像(qcow2),以提供用户数据、主机名和网络设置(非dhcp)。 配置用户数据和主机名成功配置网络失败 日志表明cloud init正确读取了我提供的数据,但系统上似乎没有可用的渲染器: 2019-02-26 11:33:44,805 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'versio

我正在尝试使用“NoCloud”部署“Fedora-AtomicHost-29-20190219”映像(qcow2),以提供用户数据、主机名和网络设置(非dhcp)。 配置用户数据和主机名成功配置网络失败

日志表明cloud init正确读取了我提供的数据,但系统上似乎没有可用的渲染器:

2019-02-26 11:33:44,805 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'version': 2, 'ethernets': {'net1': {'match': {'macaddress': '52:54:00:ab:cd:ef'}, 'dhcp4': False, 'dhcp6': False, 'addresses': ['192.168.42.100/24', '2001:db8::100/32'], 'gateway4': '192.168.42.1', 'gateway6': '2001:db8::1', 'nameservers': {'search': ['example.com'], 'addresses': ['192.168.42.53', '1.1.1.1']}}, 'net0': {'match': {'macaddress': '52:54:00:59:e0:78'}, 'dhcp4': False, 'dhcp6': False, 'addresses': ['10.170.64.95/24'], 'routes': [{'to': '10.170.0.0/16', 'via': '10.170.64.1'}, {'to': '10.270.0.0/16', 'via': '10.170.64.1', 'metric': 100}]}}}
2019-02-26 11:33:44,806 - stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']
此映像上安装的cloud init版本为17.1。 NetworkManager正在计算机上运行,同时安装了systemd networkd,但已被systemd禁用

提供的配置适用于ubuntu-18.10映像

有人知道我做错了什么吗


非常感谢。

我过去常常在元数据文件中设置网络内容,其余的则在用户数据中设置

文件:元数据

instance-id: demo01
local-hostname: demo01
network-interfaces: |
  iface eth0 inet static
  address 192.168.56.106
  network 192.168.56.0
  netmask 255.255.255.0
  broadcast 192.168.56.255
  gateway 192.168.56.254
#cloud-config
ssh_pwauth: True
...
文件:用户数据

instance-id: demo01
local-hostname: demo01
network-interfaces: |
  iface eth0 inet static
  address 192.168.56.106
  network 192.168.56.0
  netmask 255.255.255.0
  broadcast 192.168.56.255
  gateway 192.168.56.254
#cloud-config
ssh_pwauth: True
...

谢谢是的,我也读过关于这种配置方式的文章。但是,我喜欢新配置的“通用”方式。有时您不知道网络接口名称是“eth0”、“ens3”还是“enps2s0”。我认为这取决于所使用的系统。yaml样式的配置具有通过macaddress匹配接口并重命名接口的功能。感谢您的回复,如果这是我唯一的工作方式,我将采用这种方式。如果可能,我建议在所有云图像上选择eth0,如centos builder上所示。对于自定义图像生成器,附加
net.ifnames=0
以强制'eth0'Naming我同意,同时我按照您的建议修复了它。但是,这只是一个解决办法。我希望有一个更通用的解决方案。谢谢。