裸机云快速部署利器Ubuntu MAAS:单机安装及测试系列教程第二篇
by liam zheng on 14 April 2020
在上一篇教程中,我们介绍了安装MAAS所需的基础环境。本篇教程将继续介绍MAAS初始化配置的内容。

登录后进入如下设置页面,将Ubuntu archive及Ubuntu extra architecture在线安装源更改为本地区源以加速包下载及部署过程,如果MAAS环境仅支持AMD64 OS部署,则无需更改Ubuntu extra architecture。
MAAS同时安装及启用Bind名字服务。如果需要MAAS解析公司内部域名,则在DNS forwarder输入相应名字服务器IP地址。如果为空则只能解析MAAS所管理的域下被管理机器及手工增加的记录。在internet直连环境下,可以不用设置但然仍解析Internet域名因为MAAS能访问根服务器,也可以设置为192.168.10.1这个由LXD启用的域名服务器,这样MAAS也能解析所有test1主机上所能解析的域名。
“APT HTTP/HTTPS Proxy server”项设置外部的proxy用于APT( Ubuntu/Debian包管理工具)或YUM(Centos/RHEL包),如果为空则MAAS会自动使用MAAS内置proxy服务器。Proxy设置及MAAS Proxy的上级(peer)可以从MAAS管理的设置菜单进一步重新修改或配置。
正确的Internet访问及配置是MAAS管理的一个关键,MAAS在新加被管理服务器(add machine), 系统探测(commissionning),部署(deploy)阶段都需要从在线安装源下载包及更新系统,如果下载或包安装出错都会引起失败。在这个测试环境中,MAAS server能够透过test1上由LXD服务自动使能的源地址目标转换(SNAT)直接访问Internet, proxy server也安装于MAAS server上,被管理机通过MAAS server上的proxy服务来进行包下载安装。但这个proxy设置及internet访问仅限于APT或YUM包管理服务。如果你直接登录到被管理机器上用wget访问internet的话,你可以进一步设置了http_proxy和htts_proxy环境变量或者有正确的默认路由(例子中为192.168.10.1)来访问Internet。如果后继应用是用Juju部署的话,Juju会有相应的机制来设置及自动使用proxy。

设置页面的下半部份(如下图)为MAAS映像下载。选择版本及构架amd64, arm64等,点击Update selection按钮后MAAS开始在后台同步及导入,下载通常比较久,有时需要几小时而且可能会失败。可以继续下面的步骤,但在增加被管理机器前进一步检查是否同步成功及重新同步,否则PXE不能正常启动,因为所需要的kernel,init-image等可能没有成功导入。

点击“Continue”,下一步导入ssh访问公钥,这个公钥会被cloud-init机制自动注入被管理机,实现被管理机的ssh访问。如下方法在test1测试主机上生成ssh密钥对,并通MAAS web管理介面导入公钥。
ubuntu@test1:~$ ssh-keygen -t rsa -N '' -f .ssh/id_rsa Generating public/private rsa key pair. Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: SHA256:L9dYaL3409bCul3ZrFktVdOhTwAXy...... ubuntu@test1 The key's randomart image is: +---[RSA 2048]----+ | ..+.. | | o + o| | ..= oo| | =o.+ o| | S + B....| | o O Eoo+| | . * +=.o*| | o ..o**.| | .+BB=. | +----[SHA256]-----+ ubuntu@test1:~$ ls .ssh/ authorized_keys id_rsa id_rsa.pub ubuntu@test1:~$ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxPph9oyLwFwarcGAWqQ/+VhNTP6Q7FFxZo/neLhI......./ ubuntu@test1

MAAS初始设置完成,点击“Go to dashboard”铵钮进入管理介面。可能会显示如下2个告警,一为提示Bionic(Ubuntu 18.04)配置为commissioning,但由于下载及导入未完成而不可用。二是提示还未启用DHCP服务,从而不能PXE启动。可在检查这2项前确认完成后再点击Dismiss关闭。

2.2.8 DHCP服务启用及IP地址保留
如下图,点Subnet菜单项,会显示自动检测及创建的子网。

点击VLAN栏下的untagged链接,显示如下图:

从Reserve range下拉菜单中分别选择“Reserver range” 和”Reserver dynamic range”,并输入你预留的IP地址范围和MAAS动态地址分配(dhcp)范围。MAAS动态地址范围用于MAAS管理的dhcp服务,通常是临时使用的情况比如系统探测(commissionning)。

点击“Configure DHCP”按钮,注意MAAS provider DHCP为选中状态,类型Type中选择第一项。最后可以检查MAAS server的所有服务及状态,如下选择Controller菜单显示如下:

然后点Name栏下的链接,显示如下图。注意9个服务都显示为绿色。映像同步也显示为已同步状态,如非同步状态,可进一步选择Images菜单查看及重新同步。

其它用户管理,更多的设置,DNS管理等你可以选择相应的菜单查看及进一步了解。
在MAAS管理机器的过程中,如果能实时查看及监控被管理服务器的启动过程及日志输出,对于查找问题及了解进展(如下载包)非常有用。比较方便的方法是通过ipmiconsole和virsh console终端命令来查看,这需要配置Linux的内核启动参数将终端重定向,MAAS提供这个配置选项,可以从如下管理介面设置。

预先检查一下你的子网的网关及DNS设置是否正确及验证否能正常访问Internet也非常重要。

ubuntu@test1:~$ lxc exec maas-server bash root@maas-server:~# ping -c2 www.bing.com #检查maas-server能访问internet PING cn-0001.cn-msedge.net (202.89.233.101) 56(84) bytes of data. 64 bytes from 202.89.233.101 (202.89.233.101): icmp_seq=1 ttl=114 time=39.4 ms 64 bytes from 202.89.233.101 (202.89.233.101): icmp_seq=2 ttl=114 time=39.0 ms --- cn-0001.cn-msedge.net ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 3417ms rtt min/avg/max/mdev = 39.087/39.251/39.415/0.164 ms root@maas-server:~# dig @192.168.10.10 www.bing.com +short #检查maas-server的dns服务正常工作 a-0001.a-afdentry.net.trafficmanager.net. cn.cn-0001.cn-msedge.net. cn-0001.cn-msedge.net. 202.89.233.101 202.89.233.100 root@maas-server:~# http_proxy=http://192.168.10.10:8000/ wget -nd http://cn.bing.com/ #检查maas-server proxy正常工作 URL transformed to HTTPS due to an HSTS policy --2020-04-06 10:06:27-- https://cn.bing.com/ Connecting to 192.168.10.10:8000... connected. Proxy request sent, awaiting response... 200 OK Length: 113027 (110K) [text/html] Saving to: ‘index.html’ index.html 100%[===========================================================================================>] 110.38K --.-KB/s in 0.1s 2020-04-06 10:06:27 (918 KB/s) - ‘index.html’ saved [113027/113027] root@maas-server:~# https_proxy=http://192.168.10.10:8000/ wget -nd https://cn.bing.com/ #检查proxy的https访问能工作 ... 2020-04-06 10:06:38 (873 KB/s) - ‘index.html.1’ saved [113027/113027] root@maas-server:~# rm index.html* root@maas-server:~# exit ubuntu@test1:~$
至此,MAAS安装及配置已完成。
下一篇:2.3 配署MAAS KVM POD及测试虚拟机自动供给
订阅博客文章
查看更多内容
使用 MAAS 部署 VMware 虚拟机管理程序
多数现代数据中心本身均为异构架构。VMware 环境常与容器平台、数据库及其他裸机业务负载共存,多年运行于同一套硬件之上。服务器一次性采购,但会随业务需求变化调整承载业务。 然而,ESXi(VMware 虚拟机管理程序)的配置通常由独立流程负责。主机通过 VMware 工具、自定义脚本或专为将部署 ESXi 到机器中开发的自动化程序完成安装。这些工作流单独运行虽行之有效,却未必能与物理基础设施的其他部分实现统一的追踪与管理。 由此导致了脱节:即便归属同一硬件资源池,ESXi 主机的管理方式仍与数据中心其他设备脱离。随着环境规模扩大、架构日趋多元化,这种割裂式管理会形成业务瓶颈。 将 ESXi 纳入统一裸机平台进行统筹管理将是更具扩展性的方案。这使得 ESXi 的配置流程, […]
什么是 Ubuntu Pro?与标准版有不同吗?功能及内容详解
Ubuntu Pro 是 Canonical 推出的全方位订阅服务,提供开源安全防护、技术支持与合规保障。从长达 15 年的安全维护、全天候技术支持,到面向 IT 管理员的自动化加固工具,深入了解 Ubuntu Pro 订阅包含的全部服务。 Ubuntu Pro 具备哪些功能? Ubuntu Pro 是一套安全合规订阅服务,可为操作系统、应用程序及 IT 运维各层级及时提供补丁与安全维护。它助力企业及其工程师保障软件与系统安全,并通过加固工具、自动化流程及一系列其他功能,为企业满足安全标准合规铺平道路。 了解关于 Ubuntu Pro 的更多信息 › Ubuntu Pro 与标准版 Ubuntu 有何不同? 很多人存在误区,误以为 Ubuntu Pro 是独立版本或全新操 […]
代码热风险 – 软件供应链视角下,容器交付前要先“冷却”
已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]