是否可以从 MAAS 将桌面图像部署到我的办公室工作站?
我希望看到这样一种场景:工作站具有图形 shell 和一些 PXE 启动 KVM 实例,可以随时部署。我知道某些进程(例如 GUI 本身)可能会出现严重的性能损失,但目前我对此不感兴趣。
我可以想象几条路径并给你一个印象:
- 创建自定义部署映像。并将其部署到集群。
- 在调试/部署脚本中添加一些额外的细节。
- 创建一个包含桌面的 juju charm,并将其分配给 maas 区域内的每台机器。
但这些只是想法。我该怎么做呢?
答案1
curtinator
[a] 可以帮助您定制可供 MAAS 部署的 Ubuntu 桌面镜像。
请前往 [a] 并curtinator
通过 下载源代码bzr
。curtinatorREADME
项目源代码应该足以指导您制作可部署 MAAS 的 Ubuntu 桌面映像并由 MAAS 导入。但是,请让我根据 README 为您说明“过于详细”[b] 的步骤。我已经在 MAAS 2.1.3 上使用 Ubuntu Xenial 16.04.1 桌面映像测试了这些步骤。如果您认为 README 对您来说足够了,您可以跳过以下步骤。
准备环境
- 我在我的 Ubuntu Xenial 16.04.1 桌面系统上测试了这些步骤。
sudo apt-get install qemu-kvm libvirt-bin virt-viewer genisoimage
- 安装上述软件包后重新启动系统。
bzr branch lp:curtinator
获取 curtinator 源代码(你可能需要安装 bzrsudo apt-get install bzr
),比如<curtinator root>
- 下载 Ubuntu 桌面映像。在本例中,我们选择
ubuntu-16.04.1-desktop-amd64.iso
并放入<curtinator root>
使用 curtinator
- 前往已下载的 curtinator 源
<curtinator root>
- 在
<curtinator root>
,执行./scripts/curtinator ubuntu-16.04.1-desktop-amd64.iso
- 如果一切顺利,您将获得一个
ubuntu-16.04.1-desktop-amd64.iso.tar.gz
tarball<curtinator root>
。
控制台消息如下所示:
$ ./scripts/curtinator ubuntu-16.04.1-desktop-amd64.iso
Extracting ubuntu-16.04.1-desktop-amd64.iso to ubuntu-16.04.1-desktop-amd64
Creating ubuntu-16.04.1-desktop-amd64/casper/preseed.cfg
Patching ubuntu-16.04.1-desktop-amd64/casper/initrd.lz with ubuntu-16.04.1-desktop-amd64/casper/preseed.cfg
Creating ubuntu-16.04.1-desktop-amd64/root.qcow2
Creating ubuntu-16.04.1-desktop-amd64/libvirt.xml
Starting domain ubuntu-16.04.1-desktop-amd64
Domain ubuntu-16.04.1-desktop-amd64 defined from ubuntu-16.04.1-desktop-amd64/libvirt.xml
Domain ubuntu-16.04.1-desktop-amd64 started
Installing, run this command for progress:
# virt-viewer ubuntu-16.04.1-desktop-amd64
Compressing tarball
Finished ubuntu-16.04.1-desktop-amd64.iso.tar.gz
请注意,执行 curtinator 时相对路径很重要。
上传定制的 Ubuntu 16.04.1 桌面映像
scp ubuntu-16.04.1-desktop-amd64.iso.tar.gz <your MAAS server>
- 在您的 MAAS 服务器上(我的是 MAAS 2.1.3.x),执行
maas $YOUR_MAAS_PROFILE boot-resources create -d name=<YOUR_CUSOMIZED_ISO_NAME> architecture=amd64/generic filetype=tgz content@=<where your ubuntu-16.04.1-desktop-amd64.iso.tar.gz is>
。
就我而言,
maas askubuntuprofile boot-resources create -d name=custome_desktop_16-04-01 architecture=amd64/generic filetype=tgz content@=/home/ubuntu/ubuntu-16.04.1-desktop-amd64.iso.tar.gz
YOUR_CUSOMIZED_ISO_NAME
是当您选择要部署的镜像时,将显示在 MAAS 仪表板上的标签名称。 在我的情况下,它是custome_desktop_16-04-01
。 您可以在以下 MAAS 仪表板屏幕截图中看到有一个正在同步的自定义镜像。
等待几分钟直至同步。
现在,您可以照常部署此自定义桌面映像。选择选项卡Custom
和您的自定义桌面映像名称,如下所示:
[A]https://launchpad.net/curtinator
[b] 太详细了所以我不会更新 README ;)
答案2
两种方式 - 你可以创建一个具有桌面的 mass 图像,或者在你的 charm 中,在你的安装钩子中,你包含
sudo apt-get install <desktoppackagename>
在哪里
sudo aptitude install --no-install-recommends ubuntu-desktop
我个人认为,使用魅力是最简单的方法。从这个答案获得的帮助: 如何在服务器上安装 GUI 桌面?