Linuxword Global
当前位置: Linux技术 > Proxmox VE 中使用 Cloud-init 模板快速创建虚拟机

Cloud-Init 的作用

Cloud-init 是一个 Linux 虚拟机的初始化工具,被广泛应用在阿里云、华为云、AWS、OpenStack等主流云平台中,用于快速新建虚拟机,并进行一些系统初始化的任务,包括NTP、软件源、主机名、IP、磁盘和SSH密钥等。

获取 Cloud Images

Cloud Images 是一个什么样的镜像?

  1. 使用对象:Cloud Images 是面向公有云用户,也即是AWS/Azure/GCP/阿里云/腾讯云这种云服务器上,能够二次定制、批量部署,适用于虚拟机环境。
  2. 文件格式:Cloud Images 就是一个虚拟磁盘镜像,通常为 raw/vmdk/qcow2/img,不同于一般发行版为 iso 格式。
  3. 功能:和 Server 版本无大的区别,但是 Cloud Images 精简了 Server 版本无用的软件包,体积更小,性能消耗更小。
  4. 安装:Cloud Images 不同于其他版本使用 ISO 安装,Cloud Images 是直接将磁盘镜像文件挂载到虚拟机上。通过 Cloud-init 组件,自动下发 root 账号密码,不需要手动创建账号,开机就用,能够快速部署,完美适用于虚拟环境。

也就是说 Cloud Images 镜像已经内置了 Cloud-Init 组件,我们无需再手动安装。下面是一些常用的 Linux 发行版 Cloud Images 镜像下载地址:

制作虚拟机模板

  1. 下载你需要的系统对应的 Cloud Images 镜像(Proxmox VE 支持两种 Cloud Images 类型,分别为 nocloud v1 和 configdrive v2),这里以 Debian 11 为例。可以直接使用 wget 在 PVE 里下载或者使用迅雷下载后再通过 SFTP 上传到服务器。 wget https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.qcow2
  2. 创建一个虚拟机,注意 SCSI 控制器必须是 VirtIO SCSI,无需创建硬盘,如果创建了自行分离删除。

    h7t3

    htCD

    hEWm

  3. 在创建的虚拟机硬件设置里添加 CloudInit 设备

    hLwA.md_

  4. 使用 SSH 或者 Xftp 工具将镜像文件上传到 PVE 服务器(wget 下载的跳过此步),使用下面的命令将磁盘镜像导入到虚拟机,成功后 PVE 面板的 VM 硬件里会出现未使用的磁盘。

    # 900 为虚拟机ID
    qm importdisk 900 debian-11-nocloud-amd64.qcow2 local-lvm
    

    hlA5

     

  5. 双击这个未使用磁盘启用它,总线/设置选择 SCSI,然后在 选项-引导顺序 中,将此磁盘设置为第一项。

    hg6g

    hqed

  6. 修改 Cloud-Init,填入你需要设置的信息,Cloud-Init 会将 VM 的名字作为主机名

    用户:Debian11 的模板系统,默认用户是 debian。如果是配置 root 或用户登录,此处需输入用户名即可,不输入用户名,则用默认的用户可登录。
    密码:可在此处输入上面用户的密码,建议输入,否则控制台端不能登录系统。
    DNS域:可输入虚拟机的域名,不输入则继承 PVE 主机的域名。
    DNS服务器:如果 VM 使用其它域名解析,可在此输入,不输入则继承 PVE 主机的域名解析服务器地址。
    SSH公钥:SSH 连接虚拟机的公钥,使用密钥登录 SSH。
    IP配置:不输入则使用 DHCP 给虚拟机分配 IPV4 和 IPV6,可在此定义该虚拟机的 IP 地址、子网掩码以及网关地址。
    
  7. 扩容硬盘,启动 VM 即可,初次启动可能比较慢,如果卡了尝试重启试试。

    hahs

  8. 如果 Cloud-Init 配置没有生效,使用 PVE 的控制台登录虚拟机,使用 cloud-init -v 命令查看是否安装了 Cloud-Init。如果没有返回值,则使用下方的安装命令安装即可:

    # Centos
    yum install cloud-init -y
    # Debian
    apt install cloud-init -y
    

系统优化

自行参考:Debian 系统初始化配置,设置完毕后只需右击 VM 保存为模板以后即可快速创建虚拟机。

常见问题

  1. hosts 文件 /etc/hosts 重启会重置

    修改 /etc/cloud/cloud.cfg 文件内容,将 update_etc_hosts 注释或删除掉即可

  2. DNS 配置文件 /etc/resolv.conf 重启会重置

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2331 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5981 个
  • 注册用户: 139 人
  • 访问总量: 8,679,945 次
  • 最近更新: 2024年4月25日