使用Ubuntu Cloud Image快速初始化虚拟机,生成cloud-init配置文件

一般来说,安装ubuntu等系统都是用官方提供的iso镜像进行安装。如果是UbuntuDesktop还好,图形化界面安装,分区什么的也比较直观。但是ubuntu server没有界面,在尝试安装ubuntu20.04 server版的时候,iso安装有一堆磨磨唧唧的设置,其实本地虚拟机并不需要那么多精细的选项,只要能用就行。
目前,各大云服务厂商都提供了各种系统的vps,他们一般是通过所谓cloud-init的技术进行快速初始化的。

cloud-image

一台机可以正常启动的机器,可以简单的分成两部分,系统和硬件。linux系统广泛的兼容各种厂商的硬件(intel amd等各种硬件配置),并且得益于虚拟化技术,各种硬件的区别都被抹平了,以至于完全一样的系统可以运行在各种硬件上。
这样,其实完全可以免去安装的步骤,把安好系统的硬盘插在全新的硬件上,基本上不会有什么问题,直接就能启动。
这样的免安装(预原装)系统镜像,被称为Cloud Image,其中ubuntu提供了各种格式的镜像。可以从这里下载:Ubuntu Cloud Image

cloud-inti

cloud-image仍存在一些问题,显而易见的,cloud image系统的密码怎么设置,网络,host等怎么设置。例如上边的Ubuntu Cloud Image下载下来就没有默认密码,所以根本登录不了。再这样的背景下cloud-inti应运而生,目前大多数流行的linux发行版都支持了cloud-init。
简单地说,支持cloud-inti的系统在开机时,会去指定位置找配置文件,根据配置文件配置密码,网络什么的,我们要做的就是生成一个有效的配置文件,为我们的虚拟机配好网络和ssh公钥,以便远程使用。

cloud-inti配置文件

正常的云厂商一般是通过修改公版cloudimage,嵌入自己的配置文件,让他在开机时候通过http拉取从内网拉下来配置文件。
我们如果自己用,可以用另一种方法,虚拟机直接挂载公版cloudimage,然后额外挂挂载一个内含配置文件的iso。cloud-init会在开机时自动找到我们的配置文件。
亚马逊提供了一个示例文件seed.iso,把他下载下来,通过UltraISO等软件进行编辑,修改成自己想要的密码。网络和主机名在meta-data文件里配置,密码在user-data里配置,都是yaml格式。在然后挂载iso到虚拟机上,下载Ubuntu Cloud Image镜像,当做硬盘也挂在上,然后开机,系统就会自动加载配置文件。

#cloud-config
users:
# 用户名
  - name: legend
    groups: sudo
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    # 密码
    plain_text_passwd: '12864'
    lock_passwd: false
    #ssh 公钥
    ssh-authorized-keys:
            - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC55ESUaW4/5m7R0HmrD4rah72SWkemozsp+iVzbpPIXM3x5ZQEtl53SJUkignQuka0Q1JYWj1+u+2t6c/RpwZuKXsorBgJv7ABcP3lr+kz9Uo0CDZ8NNRNl/EqdJpQyxy9iD5QUbwz0ZjM+zh18QQ3g+8wnQv+lU4FeA5EpEIZq2wZ96mwuqRc916OVL+/EMxnqw5qyvWcmxQoKD8W2bsTzqf/GFWRkypHc+UuGYPUhJ5SjD2U0o1n4kyLssO/1tVvzSLzhE1piIODwxxR9y+bPFZ3qBSMDEVGdxU/ALaBVP0xE5h3r0xszZ0pWCMFod8b31bV164J6ZruwZXFqm/D me@liux.pro

生成cloud-inti配置文件小工具

打算弄一个网页上的工具,生成上述iso文件,但是查了一下没有相关js操作iso的轮子,但是iso是未被压缩的存储结构,内部明文存储,因为配置文件名恒为user-data,构造一个含大量空格的配置文件当做模板,然后直接二进制替换,应该是可行的。
//TODO

参考链接

https://www.how2shout.com/linux/install-ubuntu-20-04-22-04-cloud-image-minimal-on-virtualbox/
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丨传说哥丨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值