裸机云快速部署利器Ubuntu MAAS:单机安装及测试系列教程第一篇


Ubuntu MAAS (Metal as a Service)可将你的物理服务器转化成云资源,实现物理服务器的自助申请,即取即用, 远程访问。MAAS提供API, CLI及WEB图形管理介面,方便地实现物理服器的操作系统自动部署,网卡绑定,VLAN,网络IP地圵管理,磁盘及文件系统高级配置(soft raid, lvm, bcache)等。

1. 测试目标及环境要求

MAAS不仅内置Ubuntu, CentOS映像, 也有相应工具支持RHEL, Windows, ESXI的映像制作。在Ubutnu的Charmed OpenStack, Charmed Kubernetes, 大数据, AI and ML等通过Juju部署及管理的解决方案中,如果涉及物理裸机,则MAAS为必需及基础组成部份。MAAS在物理服务器环境中的安装及测试通常需要一台机器当作MAAS服务器, 另外一台或多台服务器当作被管理机,不仅需要单独的网段用于DHCP及PXE,MAAS还需要通过BMC/ipmi的电源管理实现自动开关电源。MAAS在Charmed OpenStack中的典型网络构架如下:

如果在没有相应物理服务器及网络资源的情况下,如何在单台物理服务器或个人电脑上来安装及测试MAAS,为这个blog的目标。单机MAAS测试需要如下环境:

  • 1台物理服务器或个人电脑(可以是桌面电脑,笔记本电脑)或能支持KVM虚拟化的虚拟机。最少配置为2 core, 4G内存,24G可用空间;如果需要进一步测试Charmed Openstack或Charmed kurberntes, 则通常需要能支持3-5台虚拟机,则配置至少为16G内存,100G可用空间。
  • 个人电脑或服务器支持Ubuntu 18.04.4 Server或Desktop;可查看是否有相应Ubuntu认证(https://certification.ubuntu.com/)。
  • Internet访问,直接或通过proxy; proxy时的额外设置及方法请参考扩展及附录的3.3节。

2. MAAS安装测试过程及方法

以下为单机安装及测试Ubuntu MAAS过程及方法

  • 安装Ubuntu Server或Ubuntu Desktop
  • 启用lxd容器虚拟机及安装MAAS服务器
  • 配署MAAS KVM POD及虚拟机自动供给
  • OS部署及机器管理

以下为本文测试环境的主机名及网络IP分配

2.1 安装Ubuntu Server或Ubuntu桌面

安装Ubuntu通常需要下载iso, 用iso制作DVD-ROM或可启动U盘, 根据你现有环境的不同下载制作方法差别很大,比较方便的是你已有Linux环境也会使用终端命令。在现有的Linux环境下,以下方法下载及制作相应的启动U盘:

注意:在你的环境中U盘设备不一定为/dev/sdc,可以通过sudo fdisk -l从列出的磁盘分区及大小上判断,另外现有U盘内容会被全部覆盖。

$ wget -nd -c   http://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-desktop-amd64.iso   
$ sudo dd if=ubuntu-18.04.4-desktop-amd64.iso of=/dev/sdc bs=1M 
$ wget -nd -c http://cdimage.ubuntu.com/releases/18.04.4/release/ubuntu-18.04.4-server-amd64.iso
$ sudo dd if=/ubuntu-18.04.4-server-amd64.iso of=/dev/sdc bs=1M  

如果需要在Windows或Mac OS环境下制作DVD-ROM或启动U盘, 请参考如下网页中的指导https://ubuntu.com/tutorials?topic=desktop

如果是服务器,通常可以通过BMC管理启动远程控制台来直接加载iso到虚拟光驱来启动安装,具体参考服务器厂家文档及指导。

一亘启动了Ubuntu Desktop/Server的安装程序,其过程及设置都相当简单及直接,如果需要详细指导及说明可参考

  • https://ubuntu.com/tutorials/tutorial-install-ubuntu-desktop
  • https://ubuntu.com/tutorials/tutorial-install-ubuntu-server-1604 

系统安装完成及重启之后,如果你能够登录,打开命令行终端,也能sudo切换到root权限,这个机器能访问internet, 则可以继续下面MAAS的安装及测试步骤。

2.2 启用LXD容器虚拟机及安装MAAS服务器

Ubuntu LXD是基于容器技术的操作系统虚拟化技术,提供了和虚拟机一样的用户使用体验,包含完整的系统启动程序,系统日志,网络及远程ssh登录。也俱有容器的密度及速度优势,没有自已的内核而是共享及使用主机内核。另外Ubuntu已提供了各种常用的预制映像,创建LXD容器机时直接从相应映像仓库下载。

MAAS通常及推荐直接安装及运行在主机Ubuntu Server操作系统上, 但对于Ubuntu桌面环境, 由于网络通常使用更为动态及智能的管理方法,所以在LXD虚拟机中安装及测试最为合适。另外选用LXD可以省去KVM配置及虚机安装或导入过程,一亘MAAS工作之后,你就可以使用MAAS自动编排KVM虚拟及自动部署OS。

2.2.1 LXD初始化

LXD初始化让你配置LXD服务及LXD容器所使用存储,网络,IP地址等。如下默认配置适于大多数情况,例子中命今行或输出之后的#…为解释及说明,它们不是命令输入或命令运行的输出。

注意: 红色加亮部份为你输入及注意的部份,以下相同。

2.2.2 创建LXD容器机并安装MAAS

2.2.3 LXD网络及MAAS IP配置

MAAS通常使用自带的DHCP服务来实现PXE网络启动,所以需要禁用LXD服务中的DHCP服务。同时配置maas-server为静态IP。

2.2.4 设置iptables端口转发访问MAAS管理介面

设置iptables端口转发,以访问MAAS web管理介面,如果使用的是Ubuntu桌面测试,则不需要这步,因为本机浏览器可直接从本地192.168.10.1这个地址访问192.168.10.10MAAS服务器。 如果是Ubuntu Server环境,则网络上的其它桌面电脑能常不能直接访问到MAAS IP(路由原因),则通过端口转发功能来访问MAAS是最为便利的。

2.2.5 MAAS管理帐号

以下方法在maas-server容器中创建MAAS管理帐户:

root@maas-server:~# maas-region createadmin 
Username: root
Password: 
Again: 
Email: root@maas-server.maas         
Import SSH keys [] (lp:user-id or gh:user-id): 
root@maas-server:~#

2.2.7 MAAS web管理介面登录及初始配置

浏览器访问MAAS web管理介面:

  • http://test1-host-ip:5240/   (端口转发)
  • http://maas-server-ip:5240/  (ubuntu桌面及非端口转发)

完成上述操作会将会看到如下截图:

下一篇我们将继续介绍MAAS管理界面登陆及初始化配置相关内容。见  https://www.linuxboy.net/Linux/2020-04/162954.htm .如果您有任何关于MAAS相关的问题,欢迎与我们联系。

*本教程由Canonical 云架构师Zhanglei Mao所撰写。

https://www.linuxboy.net/topicnews.aspx?tid=2

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-04/162953.htm

相关内容