Edited at

MAASの環境構築とUbuntuのデプロイ

More than 1 year has passed since last update.


はじめに

MAASは、UbuntuのCanonicalが提供している、OSのデプロイ等のツールです。

OSは、Ubuntu、CentOS、Windows Serverやその他Linuxが可能です。

ネットワーク内の新規マシンを自動的に発見し、登録や設定をしてくれます。

Chef、Puppet、SaltやAnsible等のツールと共存も可能です。

特に、Jujuと連携する事で、Kubernetes、OpenStackやSpark等の環境を簡単に構築する事が出来ます。

今回は、MAASに関して記載します。


環境


MAASサーバー


スペック

CPU: Core i7 3GHz

メモリ: 2GB

HDD: 100GB

OS: Ubuntu Server 16.04.3


ネットワーク

IPアドレス: 192.168.1.254

ネットマスク: 255.255.255.0

Gateway: 192.168.1.1

DNS: 8.8.8.8


MAASクライアント


スペック

CPU: Core i7 3GHz

メモリ: 2GB

HDD: 100GB

OS: Ubuntu Server 16.04.3

BMC: 無い場合は、一部手動になります。


ネットワーク

下記は、MAASサーバーのDHCPによって設定されます

IPアドレス: 192.168.1.2

ネットマスク: 255.255.255.0

Gateway: 192.168.1.1

DNS: 192.168.1.254

DHCP: 192.168.1.254


サービス

ネットワーク内には、既存DHCPが存在しない事

なぜなら、MAAS自身がDHCPを提供し、新規マシンへのOSのデプロイの管理等を行うためです。


ドキュメント

下記の公式ドキュメントを参照しています。

https://www.ubuntu.com/server/maas

https://www.ubuntu.com/download/server/provisioning

https://maas.io/

https://docs.ubuntu.com/maas/2.2/en/


インストール


Ubuntu Serverのインストール

Ubuntu Server 16.04 LTSをクリーンインストールして下さい。

また、DNSサーバーとDHCPサーバーは、MAASが提供するので、インストールしないで下さい。

ただし、DNSの設定は、必要です。上記の環境は、Google提供のDNS(8.8.8.8)を設定しています。


MAASのインストール

パッケージのアップデートとMAASのインンストールを行います。

$ sudo apt -y update

$ sudo apt -y upgrade
$ sudo apt install maas
省略
続行しますか? [Y/n] y


管理者の作成

下記を適当に入力して下さい。

ただし、Import SSH keysは、後からでもOKです。

SSH Keysは、OSをデプロイしたマシンへ自動的に追加されます。

$ sudo maas createadmin

Username:
Password:
Again:
Email:
Import SSH keys [] (lp:user-id or gh:user-id):


Web管理画面の表示

下記のURIを参考にWeb管理画面を表示して、上記で設定した Username と Password でログインして下さい。

http://192.168.1.254:5240/MAAS/

Login___maas_MAAS.jpg


設定

Welcome to MAASのRegion name、Connectivityの色々な設定は変更不要ですが、状況に応じて変更して下さい。

Welcome___maas_MAAS.jpg

デフォルトでは、16.04 LTS / amd64 のイメージがダウンロードされます。

必要に応じて、その他のイメージにチェックを入れて Save selection をクリックして下さい。

問題なければ、Continueをクリックしてください。

Welcome___maas_MAAS.jpg

SSHキーを登録します。

SourceにUploadを選択してPublic keyをペーストしてImportをクリックして下さい。

問題なければ、Go to dashboardをクリックして下さい。

Welcome___maas_MAAS.jpg

DHCPを有効にします。

SubnetsタブからVLANのuntaggedをクリックします。

Subnets___maas_MAAS.jpg

Take actionからProvide DHCPをクリックします。

Default_VLAN_in_fabric-0___maas_MAAS.jpg

Dynamic range start IPとend IPを設定し、Provide DHCPをクリックします。

今回は、192.168.1.200から192.168.1.253に設定しました。

Default_VLAN_in_fabric-0___maas_MAAS.jpg


イメージ

指定したイメージがダウンロード完了しているかを確認します。

Images___maas_MAAS.jpg


クライアントのPXE設定

クライアントのPXEを有効にして、起動の優先順位をネットワークを上位、ハードディスクを下位にして下さい。

ubuntu.jpg


クライアントのPXE起動

ネットワークカードからPXEで起動が始まります。

MAASから必要なデータ等がダウンロードされます。

完了後、Web画面のNodeにマシンが表示されます。

もし、クライアントがIPMI等に対応して入れば、Powerに電源アイコンが表示されるはずです。

IPMI等に対応していれば、この画面から電源のON/OFFできるようになります。

Nodes___maas_MAAS.jpg


クライアントの設定

マシン名を適当に変更して下さい。今回は ubuntu.maas にしました。

また、PowerをManualにしました。もし、IPMI等に対応していれば、適当に選択して下さい。

スクリーンショット_2017-10-28_21_43_27_png.jpg


コミッション

Take actionのCommissionをクリックします。オプションのチェックも特に必要ありません。

Commission machineをクリックしてクライアントの電源を入れて下さい。

ubuntu_maas___maas_MAAS.jpg

ubuntu_maas___maas_MAAS.jpg

クライアントの Status が Ready になれば完了です。

これで、いつでもOSのデプロイ / アンデプロイができるようになりました。

Nodes___maas_MAAS.jpg


デプロイ

クライアントにチェックを入れて、Take action から Deploy をクリックします。

次に、Choose your imageで適当なイメージを選びデプロイを開始します。

IPMI等に対応していない場合は、電源を手動で入れて下さい。

デプロイが始まると Status が Deploying Ubuntu 16.04 LTS になります。

デプロイが完了すると Status が Ubuntu 16.04 LTS になります。

1.jpg

2.jpg


SSHで接続、インターネットへの疎通確認

クライアントのIPアドレスを確認して下さい。

実は、デプロイの前にIPアドレスをStatic / Auto assing等から設定をする事が出来ます。

今回は、Auto assingで192.168.1.4が設定されました。

ubuntu_maas___maas_MAAS_と_ubuntu.jpg

SSHでアクセスします。最初に設定したSSHキーでアクセスします。

下記は、SSHキーに id_rsa を指定してます。

ユーザー名は ubuntu になります。

IPアドレスは上記で確認した通り、 192.168.1.4 です。

$ ssh -i .ssh/id_rsa ubuntu@192.168.1.4

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-97-generic x86_64)
省略
ubuntu@ubuntu:~$

ubuntu@ubuntu:~$ ping maas
PING maas.maas (192.168.1.254) 56(84) bytes of data.
64 bytes from maas.maas (192.168.1.254): icmp_seq=1 ttl=64 time=0.409 ms

ubuntu@ubuntu:~$ ping www.ubuntu.com
PING www.ubuntu.com (91.189.89.118) 56(84) bytes of data.
64 bytes from www-ubuntu-com.nuno.canonical.com (91.189.89.118): icmp_seq=1 ttl=47 time=234 ms


アンデプロイ

マシンにチェックを入れて、Take action から Release をクリックします。

その後、Status が Ready になります。別のOSのデプロイを試して下さい。

Nodes___maas_MAAS.jpg


おわりに

今回は、MAASの基本的な使い方を紹介しました。

あと、MAASは、RESTを提供していています。

Jujuは、このRESTを利用してMAASのReady状態のマシンを利用して環境を構築します。

今後は、Jujuと連携してKubernetes、OpenStackやSparkの環境構築をしたいと思います。

あと、MAASの他の機能の確認。IPMI、KVMの活用などをしたいと思います。