Help us understand the problem. What is going on with this article?

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の活用などをしたいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away