0から始めるUbuntu18.04+MAAS2.4環境作成

<!-- wp:heading {"level":1} -->
<h1>はじめに</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>現在社内でMAAS+kubernetes環境を構築しようというプロジェクトがあり、<br>
その中で行ったもの、つまづいたところを記述していく.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>ゴール</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ubuntuでサーバーを構築し、独立したネットワーク内でUbuntuOSのデプロイをPXEブート経由でできるようになる.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>導入前注意事項</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MAASサーバーが存在するネットワークにはDHCPが存在しないことを事前に確認する.<br>
DHCPが既存のネットワークでMAASサーバーを構築すると、後の設定でMAASサーバーがDHCPサーバーになるため、既存DHCPと競合する.<br>
DHCPが競合すると、ネットワーク内の端末がIPアドレスを再取得する際にMAASサーバーから取得した場合、ネットワークの外側と通信できなくなる.<br>
また、MAASクライアントになるはずの端末も、MAASサーバーと安定的に通信できなくなる.<br>
（様々な記事を確認したが現状未解決）</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>構築用端末</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MAASサーバー用端末(IP:192.168.200.1)<br>
MAASクライアント用端末(IP:192.168.200.151)<br>
macbookpro</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>Ubuntuインストール</h1>
<!-- /wp:heading -->

<!-- wp:heading -->
<h2>ubuntuダウンロード</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>以下のURLからUbuntu ServerのISOイメージをダウンロードする.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="http://releases.ubuntu.com/18.04/">http://releases.ubuntu.com/18.04/</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Ubuntuイメージの起動ディスク作成</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>手持ちのUSBメモリにUbuntuのISOイメージを焼き付けて、インストール用メディアを作成する.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>USBメモリの確認</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MACにUSBメモリを差した後、ターミナルを立ち上げディスクの場所を確認する.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>diskutil list</code></pre>
<!-- /wp:code -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/812af9e7-f61c-28df-0cdd-52c354431578.png" alt="スクリーンショット 2018-05-20 19.18.13.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>コマンド実行時はUSBメモリは/dev/disk2となっていたので、これを一度MS-DOS形式でフォーマットする.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>diskutil eraseDisk MS-DOS UNTITLED /dev/disk2</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>フォーマットされたUSBメモリをアンマウントしddコマンドで起動ディスクを作成する.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>diskutil unmountDisk /dev/disk2
sudo dd if=./Downloads/ubuntu-18.04-live-server-amd64.iso of=/dev/disk2 bs=4028</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>多少時間がかかるため、コーヒータイム.<br>
イメージ作成が完了したら、デバイスを取り外す.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>もし刺さったままなら、</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>diskutil eject /dev/disk2</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>を実行してUSBメモリを抜く.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>Ubuntuイメージのインストール</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MAASサーバ用の端末に先ほど作成したUSBを差し、BOOT画面でUSB起動を指定しインストールを開始.<br>
BOOTデバイスの指定はマシンによって異なるため省略.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>インストールのオプションは任意の設定で.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>MAASインストール</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>サーバーにMAASパッケージをインストールする.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>$ sudo apt -y update
$ sudo apt -y upgrade
$ sudo apt -y install maas</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>インストールが完了したら管理者用ユーザの作成.<br>
必要なユーザー名、パスワード、アドレスなどを設定.<br>
SSHキーの登録は後で行うため、空欄のままエンターでスルー.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>$ sudo maas createadmin</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>作成が完了したら「MAASサーバーのアドレス:5240/MAAS/」でログイン.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>MAASの設定</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ログイン画面が出てくるため、<br>
作成したユーザーでログイン.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/a5a31f93-32e2-8acc-dd4e-13a4abd0ce94.png" alt="スクリーンショット 2018-05-22 14.24.41.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>ログイン後、イントロページが出てくる.<br>
特に設定をいじる必要はない.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>後者の画像では、ダウンロードするUbuntuのOSイメージを選択する.<br>
欲しいバージョンにチェックを入れたら、基本的に自動でダウンロードが始まるため、しばらく待つ.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ダウンロードが完了し、「Status」が「Synced」になったらContinueをクリック</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/75c71302-0cc8-e767-1edf-a9c43a6a2178.png" alt="スクリーンショット 2018-05-22 14.24.59.png"/></figure>
<!-- /wp:image -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/b15f9e1e-a26a-d284-5b0e-a4ee64b17e7b.png" alt="スクリーンショット 2018-05-22 14.25.20.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>秘密鍵を入力する画面に移るため、Ubuntuサーバー側で鍵を生成する.<br>
特に指定はせずに、空欄のままエンター連打.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>$ sudo ssh-keygen -t rsa</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>サーバーの.sshフォルダに鍵が生成されるため、<br>
そちらの公開鍵の中身をコピーする.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>cat .ssh/id_rsa.pub</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>コピー後はMAASの管理サーバーに戻り、SourceをUploadに変え、隣の入力画面に先ほどコピーした鍵の中身をペーストし、Importをクリック.<br>
問題がなければ「Go to dashboard」をクリック.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/8aa6cc86-6de8-dbd4-45d3-4e4f2b59d6f6.png" alt="スクリーンショット 2018-05-22 14.25.54.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>準備として、MAASトップページ上部の「Subnets」ページ内、展開したいネットワークVLANのuntaggedを選択.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/9e9ba5fd-138e-fcbf-7691-1d2b9faa984a.png" alt="スクリーンショット 2018-05-23 12.28.03.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>画面上部の「Take action」から「Provide DHCP」を選択.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/24788b21-64e7-1658-bebb-b581e41e65e8.png" alt="スクリーンショット 2018-05-23 12.32.09.png"/></figure>
<!-- /wp:image -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/55ddb67b-e6c2-80be-16d3-0ff3fcc698a8.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f64616464393437352d626531372d663134302d343534662d3738653037616661623833342e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>MAASサーバーのDHCPレンジが出てくるため、任意の数を指定し、「Provide DHCP」を選択すると、同じページ内のDHCP項目がEnableになり、「Reserved ranges」に追加したネットワーク範囲が表示される.<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/365694bb-e287-f931-5f66-093e25dc6609.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f61386132633162382d666161392d373463342d343033302d6465343265633232393032652e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>これで一通りの下準備が完了になる.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>MAASクライアントのデプロイ</h1>
<!-- /wp:heading -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/1f7123f8-eb31-b8cd-b566-656687dfbcac.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f39303965386538342d303465642d316430392d623232342d3663613962366132383333352e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>MAASクライアントとなる端末のBOOT順序でPXE bootの項目を起動順序の一位へする.<br>
その後クライアントの電源を入れると自動でMAASサーバーと通信を開始し、電源が落ちる.<br>
電源が落ちた後は、MAASの管理画面上の「Machines」に端末が追加される.<br>
（端末の名前は仮で動物の名前が入る）<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/084f721b-a06e-cc36-11d4-31e31a6bf692.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f32366162613330652d373034352d313963662d323831332d3630303036356336396365362e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>追加されたマシンを選択し、まずは名前の変更をする.<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/1bb8d45a-c87c-4d6e-f9cd-9cbcc539e21d.png" alt="スクリーンショット 2018-05-23 16.03.41.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>「Configration」内の「Power configuration」で電源オプションを選択.<br>
今回は「Manual」を選択する.<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/6333f21f-f312-60b7-b73c-10541fda47cd.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f66666561643063632d323034382d313363342d386665652d3363303734316634656464362e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>「Machines」ページで、端末のチェックボックスにチェックを入れ、「Take action」から「Commission」を選択した後、クライアント端末の電源を入れる.<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/c91e536a-3b1e-d3ce-93db-e0d88d424e02.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f35316137386634322d373239632d333466652d386265312d6133303934666434366330632e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>再びサーバーとの通信を開始するので終了まで待つ.<br>
無事にCommissionが終了したら、サーバーの管理画面では「Status」が「Ready」になる.<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>「Take action」から「Deploy」を選択し任意のOSを選択し、デプロイを開始させ、クライアントの電源を入れる.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/1149ac36-97c8-8be4-96b5-33ab1718b648.png" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235393334332f66633432313464632d663562382d643934382d653133302d3335616265613531353863312e706e67.png"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>サーバーからOSがデプロイされるため、しばし待ち、管理画面上でStatus欄がOS名に変われば成功<br>
</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":1} -->
<h1>クライアント端末のネットワーク設定について</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MAASのクライアント端末は基本はDHCPだが、Staticに指定することも可能.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>その場合はOSのデプロイ前に端末の情報ページ内「Interfaces」内の「Actions」-「Edit Physical」を選択し、「Auto assign」を「Static」に変更し、任意のアドレスを指定する.</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/4526787d-7a04-c4ff-7bc9-dbb1ba5b4d58.png" alt="スクリーンショット 2018-05-22 13.54.10.png"/></figure>
<!-- /wp:image -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://qiita-image-store.s3.amazonaws.com/0/259343/863774fa-1bde-4ee0-be95-de7b82b01ddb.png" alt="スクリーンショット 2018-05-22 13.54.26.png"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":1} -->
<h1>つまづいたところ</h1>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3>MAASサーバーをインストールした後、設定画面上はDHCPはEnabledになっているが、クライアントに対してアドレスの配布が行われない.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>解決方法<br>
管理画面上部「Controllers」内の「Name」にあるマシンを選択（初期だと一つしかないはず）<br>
移ったページ内のServices項目において「dhcpd」にグリーンマークが付いていない場合があるため、一度MAASを再起動するとグリーンマークが付くようになった.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>これでもダメな場合は、</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>sudo dpkg-reconfigure maas-rack-controller
 sudo apt-get install maas-rack-controller
 sudo maas-rack register --url http://MAASサーバーアドレス:5240/</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>で治ることもあった.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>参考ページ<br>
<a href="http://hal0taso.hateblo.jp/entry/2016/09/08/190140">Mac OSX上でISOイメージからBootable USBを作成する - 1日ひとつだけ強くなる</a><br>
<a href="https://qiita.com/maeda_mikio/items/f5abb04a715e5d17b053">MAASの環境構築とUbuntuのデプロイ - Qiita</a><br>
<a href="https://qiita.com/mukoya/items/f20def019e25dc162ca8">公開鍵暗号を用いてのSSH接続（きほん） - Qiita</a></p>
<!-- /wp:paragraph -->