前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cloud-init 概述及 PVE 下创建步骤说明

Cloud-init 概述及 PVE 下创建步骤说明

作者头像
宋天伦
发布2023-10-20 13:05:35
7380
发布2023-10-20 13:05:35
举报
文章被收录于专栏:frytea

本文 首发于 🌱 煎茶,请注明 来源。

Cloud-init 是一个程序,它在启动时在客户机上运行,是用于 跨平台云实例初始化 的行业标准多分发方法。它支持所有主要的 公共云提供商、私有云基础设施的供应系统和裸机安装

云实例将由磁盘映像和实例数据初始化:

  • 云元数据
  • 用户数据(可选)
  • 供应商数据(可选)

Cloud-init 将识别在引导期间运行的云,从云中读取任何提供的 元数据,并相应地初始化系统。这可能涉及到设置网络、存储设备、配置 SSH 访问密钥和其他各种系统配置。之后,cloud-init 还将解析和处理传递给实例的任何可选用户或供应商数据。

Proxmox VE Cloud-Init 支持#

Proxmox VE 支持 Cloud-init ,使用 Cloud-Init,就可以在管理程序端配置网络设备和 ssh 密钥。当 VM 第一次启动时,VM 中的 Cloud-Init 软件将应用这些设置。

Step 1: 准备 Cloud-Init 模板#

许多发行版本已经提供了即时可用的 Cloud-Init 映像(作为 .qcow2 文件) ,所以你也可以直接下载和导入这样的镜像。在下面的例子中,我们将使用 Ubuntu https://cloud-images.Ubuntu.com 中心提供的云映像。

代码语言:javascript
复制
# 下载镜像
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

# 创建新的虚拟机
qm create 9000 --memory 2048 --net0 virtio,bridge=vmbr0

# 将下载好的磁盘镜像导入 local-lvm 存储
qm importdisk 9000 bionic-server-cloudimg-amd64.img local-lvm

# 最后将新的磁盘加载到虚拟机上作为 scsi 设备
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-1

Ubuntu Cloud-Init 映像需要 SCSI 驱动器的 virtio-SCSI-pci 控制器类型。 注:经过实测,除了 importdisk 步骤外,其余步骤均可在 PVE 的 web 面板上完成,建议终端操作并观察 web 变化后,再尝试纯 web 界面操作。

添加 Cloud-Init CD-ROM 驱动器

下一步是配置 CD-ROM 驱动器,用于将 Cloud-Init 数据传递给 VM。

代码语言:javascript
复制
qm set 9000 --ide2 local-lvm:cloudinit

要能够直接从 Cloud-Init 映像引导,需要将引导磁盘参数设置为 scsi0 ,并将 BIOS 限制为仅从磁盘引导。这将加速引导,因为 VM BIOS 会跳过可引导 CD-ROM 的测试。

代码语言:javascript
复制
qm set 9000 --boot c --bootdisk scsi0

还要配置一个串行控制台并将其用作显示器。许多 Cloud-Init 映像都依赖于此,因为这是 OpenStack 映像的一个需求。

代码语言:javascript
复制
qm set 9000 --serial0 socket --vga serial0

在最后一个步骤中,将 VM 转换为模板会很有帮助。然后,您可以从这个模板快速创建链接克隆。从 VM 模板进行部署要比创建完整的克隆(副本)快得多。

代码语言:javascript
复制
qm template 9000

Step 2: 部署 Cloud-Init 模板#

您可以通过克隆轻松地部署这样的模板:

代码语言:javascript
复制
qm clone 9000 123 --name ubuntu2

然后配置用于身份验证的 SSH 公钥,并配置 IP 设置(可选):

代码语言:javascript
复制
qm set 123 --sshkey ~/.ssh/id_rsa.pub
qm set 123 --ipconfig0 ip=10.0.10.123/24,gw=10.0.10.1

此外还可以配置 DNS 域等,更多配置项请查看 PVE 官网 Cloud-Init Support

之后启动虚拟机,即可验证之前的配置是否生效。

参考文献#

注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Proxmox VE Cloud-Init 支持#
    • Step 1: 准备 Cloud-Init 模板#
      • Step 2: 部署 Cloud-Init 模板#
      • 参考文献#
      相关产品与服务
      多因子身份认证
      多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档