裸机云快速部署利器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及测试虚拟机自动供给
订阅博客文章
查看更多内容
Canonical x Lenovo: 在边缘运行 AI workloads
携手 Canonical 和 Lenovo,在边缘运行 AI 工作负载 从制造业中的预测性维护,到医疗保健行业中的虚拟助手,再到最偏远地区的电信路由器优化,AI 正在各种边缘环境中掀起新浪潮,带来新机遇。但为了支持这些几乎随处运行的 AI 工作负载,公司需要具备快速、安全且高度可扩展的边缘基础架构。 开源工具 —— 例如用于轻量级 Kubernetes 编排的 MicroK8s 和用于 ML 机器学习工作流的 Charmed Kubeflow —— 可以为边缘 AI 部署提供更高的灵活性和安全性。如果配合加速计算堆栈使用,这些解决方案可以帮助专业人员更快地交付项目,降低运营成本,以及确保更可预测的结果。 今天这篇博客探讨为什么企业正逐渐在边缘 AI 领域转向开放式基础架构 […]
《网络弹性法案》对开源意味着什么
《网络弹性法案》(Cyber Resilience Act,CRA)即将生效。这项影响广泛的法规将引入针对开发商、零售商和设备制造商的新要求和制衡措施;而许多亟待满足的需求在开源社区并没有得到很好的解决。 在本篇博客中,笔者将探讨 CRA 对开源的影响,分享一些专家的见解,说明该法案在哪些方面有着积极的影响以及在哪些方面存在灰色地带,并向大家介绍在使用或创建开源的情况下应该为法案的推行做好哪些准备。 为何制定《网络弹性法案》? 首先大致介绍一下,CRA 是欧盟即将出台的一项法规,旨在通过对欧盟 IT 行业实施更严格的网络安全、文档和漏洞报告要求,提高设备安全性。这项法规将适用于硬件、设备、软件、应用程序和其他“带有数字连接元素的产品”的开发商、分销商、制造商和零售商。 […]
Raspberry Pi AI 套件在 Ubuntu 上的黑客指南
Raspberry Pi 最近发布了他们的 AI 套件,一个搭载 Hailo-8L AI 加速器的 PCIe M.2 HAT 套件。这款 AI 加速器的运算性能高达每秒 13 万亿次运算(TOPS)。相较之下,Coral Edge TPU 的运算性能为 4 TOPS,其拥有与 Raspberry Pi 5 CPU 相近的推理性能。AI 套件可以让标准平台上开发机器学习工作负载变得更加容易。它还允许在边缘部署强大的机器学习模型,而且成本低、功耗低。许多人对这款新工具包在其中可以发挥卓越性能的大量用例满怀期待,比如安全、制造或质量保证方面的摄像头视频对象实时检测。 在本篇博客中,我们将讨论我们尝试在 Ubuntu 24.04 LTS 上运行 Hailo-8L 加速器及其软件的 […]