在 Proxmox VE 管理介面可以方便的建立客体虚拟机、硬体配置,以及开启主控台安装系统与客体内的设定,不过有关帐号密码、网路 IP 及 DNS 等设定就不能在管理介面上方便的配置,有没有更容易可以让我在 Proxmox VE 管理介面上一次搞定的方法?
当然是有,而且非常容易使用!
目前 Cloud-Init 支援大部份的 Linux 作业系统发行版本,较新的发行版本已有内建,可在安装有 Ubuntu 的客体机内使用以下指令进行检查:
dpkg -l | grep cloud-init
检查是否已安装 Cloud-Init 套件
若没有内建的亦可很容易的安装起来,以 Ubuntu Linux 为例:
apt install cloud-init
目前 Cloud-Init 官网上列出有支援的作业系统与发行版本如下:
补充:
Windows 作业系统也有公司开发 Cloud-Init 的相关套件,如有兴趣可以至文末参考资料下载。
技巧:
也可以直接下载预先配置好的 Linux 发行版 Cloud Image,汇入 Proxmox VE 客体机後直接开机就可以套用 Cloud-Init 进行初始化,连安装作业系统的工作都省去。由於牵涉到 Proxmox VE 的 CLI 命令列指令,将於日後篇幅提及。
接下来要为客体机增加一个 Cloud-Init 磁碟机,请选取客体机後,切换至 硬体
页签,按下 增加
按钮,选取 CloudInit 磁碟机
。
准备新增 Cloud-Init 磁碟机
进入 Cloud-Init 选项视窗後,只需在 储存
下拉清单中指定 Cloud-Init 磁碟机要存放的储存集区,再按下 建立
即可。
新增 Cloud-Init 磁碟机选项视窗
建立完成以後,硬体清单中即会增加一笔 CloudInit 磁碟机 (ide0)
项目。
新增 Cloud-Init 磁碟机完成
除了磁碟机外,还需要增加一个序列埠装置,以让 Cloud-Init 可以正确连动。请按下 增加
按钮,选取 序列埠
项目。
准备新增序列埠
在弹出的序列埠选项视窗中,直接按下 增加
按钮。
新增序列埠选项视窗
序列埠增加完成後,可以在硬体清单中确认。
最後,我们还要把原本的虚拟光碟机移除,才不会影响到客体机启动时由 Cloud-Init 磁碟机的读取设定作业。请选取 CD/DVD 装置 (ide2)
,再按下 移除
按钮,弹出的确认对话框按下 是
即可移除之。
移除虚拟光碟机
前置作业完成後,可以准备设定 Cloud-Init 的各项参数。切换至 Cloud-Init
页签,点选 帐号
两下准备进入设定。
准备设定 Cloud-Init 帐号
弹出帐号对话视窗後,请填入要设定的帐号名称。
设定 Cloud-Init 帐号
接着再点选 密码
栏位两次,进入密码设定视窗。
设定 Cloud-Init 密码
提醒:
只有直接使用 Cloud Image 映像档的客体机可以初始化帐号与密码。
当帐号与密码设定完成後,再按下 DNS 网域名称
两下,进入设定对话视窗。若保留预设,则会以节点实体机的 DNS 网域名称跟服务器自动带入。
设定 Cloud-Init DNS 网域名称及服务器
若有预备好的客户端 SSH 公开金钥,也可以在此填入,以用做日後使用免密码方式远端连入这台客体机。
设定 Cloud-Init SSH 公开金钥
最後是网路设定,经由 Cloud-Init 功能即可让我们在 Proxmox VE 介面上方便的为客体虚拟机指定好 IP,免去许多设定的手续。
设定 Cloud-Init 网路
当全数设定完成後,可以检视一下 Cloud-Init 清单的内容,确认无误後请按下 重新产生映像
让它生效。
产生 Cloud-Init 映像档
做完前置各项设定後,就可以启动客体机来验证设定是否正确生效。
确认已经由 Cloud-Init 设定好 IP
如果 Cloud-Init 设定套用仍然无效,请开启客体机主控台进行以下操作:
# 清除已有的 Cloud-Init 设定
cloud-init clean
# 移除 Cloud-Init 其它设定档案
rm -rf /etc/cloud
rm -rf /var/lib/cloud/instances
rm /etc/netplan/00-installer-config.yaml
# 重新启动
reboot
若 Cloud-Init 相关设定正确无误,应於重新启动後生效。
Cloud-Init Support - Proxmox VE
https://pve.proxmox.com/wiki/Cloud-Init_Support
The standard for customising cloud instances
https://cloud-init.io/
canonical/cloud-init: Official upstream for the cloud-init: cloud instance initialization
https://github.com/canonical/cloud-init
Cloudbase-Init - Cloudbase Solutions
https://cloudbase.it/cloudbase-init/
<<: Day19 Helm manage Open-Match
>>: day 19 - health check 让k8s帮忙关怀服务
第一次参加铁人赛很开心真的能顺利完赛啦!!! 当初开赛前还想说参赛期间会经历中秋节和双十国庆的连假...
问题回答 使用 Vuex 是为了当元件之间都需要共用资料时,使用一个像是公用容器来管理资料,我们把所...
v-on 监听DOM并进行触发 v-on: -> 简写 @ v-on:click="...
一、迁移式学习(Transfer Learning) 动机 我们在做监督式学习(Supervised...
Virtual Judge ZeroJudge 题意 输入玩家数与成功机率,输出 I-th 玩家成...