Play with MAAS (by quqi99)
問題
四年前寫了一篇關於MAAS的部落格 [1],但好幾年沒用它了,今天發現GUI的操作流程變化還有點,記錄一下。
Host機
配置了下面的網路:
auto eth0
iface eth0 inet manual
auto br-eth0
iface br-eth0 inet static
address 192.168.99.124/24
gateway 192.168.99.1
bridge_ports eth0
dns-nameservers 192.168.99.1
然後在virt-manger裡建立了一個名為cloud的虛擬網路(192.168.100.0/24),未使用DHCP。
最後,使用virt-manager建立了一個名為maas的虛機,給它分配了兩個網絡卡(ens3=192.168.100.3用作MAAS的IP,另一個網絡卡ens8=192.168.99.1純粹為了方便管理之用)
maas虛機
網路配置如下:
$ cat /etc/resolvconf/resolv.conf.d/base
search maas
nameserver 192.168.100.3
auto ens3
iface ens3 inet static
address 192.168.100.3
netmask 255.255.255.0
gateway 192.168.100.1
auto ens8
iface ens8 inet static
address 192.168.99.3
netmask 255.255.255.0
gateway 192.168.99.1
安裝maas:
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo apt-add-repository ppa:maas-maintainers/stable
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install postgresql maas
配置maas虛機可以無密碼訪問物理機上的libvirt:
sudo chsh maas -s /bin/bash
sudo su - maas
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa [email protected]192.168.100.1
sudo -u maas virsh -c qemu+ssh://[email protected]/system list --all
建立maas管理員使用者之後就可以通過http://192.168.99.3/MAAS登入GUI管理介面了.
sudo maas createadmin
apikey=$(sudo maas apikey --username admin)
maas login admin http://192.168.100.3/MAAS $apikey
在’Subnets’點選subnet 192.168.100.0/24對應的vlan(untagged)後’Take action -> configure dhcp’才能enable PXE.
註冊maas節點
建立一塊空磁碟(truncate –size 10G /images/kvm/controller.raw),然後在virt-manager裡建立一個名為controller的新虛機(設定從PXE啟動、使用truncate定義的空磁碟,同時從cloud network中定義四塊網絡卡), 我們能從virt-manager中看到pxe的啟動過程,但最後卻一閃而過了那是因為需要從maas裡來啟動它。好,從virt-manager中關閉該虛機,同時記得再將啟動模式改回PXE。
然後訪問GUI的”Nodes -> Add hardware -> Machine”定義節點(注意:四塊網絡卡的MAC地址一次性定義,如果後續此處新增網絡卡的話還得再執行commission操作):
commission過程可從下列幾個方式除錯:
- virt-manager vnc可以看到
- maas節點上的/var/log/maas/maas.log
- controller虛機(IP可從GUI裡找到)裡的cloud-init日誌
然後根據在virt-manager中定義的四塊網絡卡的MAC地址在maas中也如下圖定義一下:
四塊網絡卡定義好了之後得重新點選一下”Take action -> Commision”,然後將看到如下介面:
然後我們將看到”Add Interface”、”Create bond”、”Create Bridge”等按鈕,先將ens8和ens9做成bond0,再在bond0上建立一些vlan(先建vlan再建bridge順序不能變),最後將bond0做成br-bond0,最後如下圖:
接著還要再點選”Take action -> Deploy”重新部署,最後就可以從GUI介面中找到IP後通過ssh [email protected]訪問了
Reference
[1] https://blog.csdn.net/quqi99/article/details/37990507