首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cloud-init忽略静态IP网络配置

cloud-init忽略静态IP网络配置
EN

Stack Overflow用户
提问于 2019-10-14 05:57:40
回答 1查看 6.9K关注 0票数 1

我运行Ubuntu18.04云映像并尝试通过cloud-init配置网络。由于某些原因,当我尝试分配静态IP时,它忽略了我的网络,而只是退回到使用DHCP。我不确定为什么,我也不确定如何调试它。有没有人知道我是否做错了什么,或者我应该如何进一步解决这个问题:

下面是我用来生成config.imgconfig.yaml

代码语言:javascript
复制
#cloud-config
network:
    version: 2
    ethernets:
        ens2:
            dhcp4: false
            dhcp6: false
            addresses: [10.0.0.40/24]
            gateway4: 10.0.0.1
password: secret # for the 'ubuntu' user in case we can't SSH in
chpasswd: { expire: false }
ssh_pwauth: true
users:
    - default
    - name: brennan
      ssh_import_id: gh:brennancheung
      sudo: ALL=(ALL) NOPASSWD:ALL
hostname: vm
runcmd:
    - [ sh, -xc, "echo Here is the network config for your instance" ]
    - [ ip, a ]
final_message: "Cloud init is done.  Woohoo!"

配置中的其他部分似乎都正常工作,就好像它甚至看不到network部分一样。

我将.img作为cdrom附加以读取cloud-init。您可以在这里看到我是如何运行它的:https://github.com/brennancheung/playbooks/blob/master/cloud-init-lab/Makefile

注意:一旦我登录到计算机中,我可以用上面的network部分替换/etc/netplan中的配置,然后重新应用它,然后使用静态IP连接就可以了。所以我认为我没有遗漏任何明显的错误。这让我相信它与cloud-init网络模块相关,而不是netplan本身。

EN

回答 1

Stack Overflow用户

发布于 2019-10-14 08:18:40

我终于想通了。希望这对其他人有所帮助。

显然,您不能在user-data中提供网络配置。您必须在云提供商的数据源或元数据中指定它。为此,您必须将网络部分移动到它自己的文件中,并使用--network-config=...选项构建cloud-init映像。

例如:

cloud-localds -v --network-config=network-config-v2.yaml seed.img user-data.yaml

我有在本地KVM中配置和引导云实例的完整设置,如果这对其他人有帮助的话。

https://github.com/brennancheung/playbooks/tree/master/cloud-init-lab

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58368104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档