使用 MAAS 在办公工作站上部署图形化 shell

使用 MAAS 在办公工作站上部署图形化 shell

是否可以从 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 对您来说足够了,您可以跳过以下步骤。

准备环境

  1. 我在我的 Ubuntu Xenial 16.04.1 桌面系统上测试了这些步骤。
  2. sudo apt-get install qemu-kvm libvirt-bin virt-viewer genisoimage
  3. 安装上述软件包后重新启动系统。
  4. bzr branch lp:curtinator获取 curtinator 源代码(你可能需要安装 bzr sudo apt-get install bzr),比如<curtinator root>
  5. 下载 Ubuntu 桌面映像。在本例中,我们选择ubuntu-16.04.1-desktop-amd64.iso并放入<curtinator root>

使用 curtinator

  1. 前往已下载的 curtinator 源<curtinator root>
  2. <curtinator root>,执行./scripts/curtinator ubuntu-16.04.1-desktop-amd64.iso
  3. 如果一切顺利,您将获得一个ubuntu-16.04.1-desktop-amd64.iso.tar.gztarball <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 桌面映像

  1. scp ubuntu-16.04.1-desktop-amd64.iso.tar.gz <your MAAS server>
  2. 在您的 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 桌面?

相关内容