Intel NUC10i7FNHにESXi6.7をインストール

はじめに

前々からやろうと思ってたブログを始めてみた。
アウトプットが無いことがずっとコンプレックスだったので、このブログで少しずつ解消していこう。

本題

IntelベアボーンキットであるNUC10i7FNHを買ってESXi6.7をインストールするまでのログをまとめる。

何故買ったのか

CKA(Certified Kubernetes Administrator)という資格を取得する際に、kindやkubeadmを使わずにクラスタ構築する練習(いわゆるkubernetes-the-hard-way)をやっていた。
ローカルのVMでノードを立ててクラスタを構築していたのだが、自分のMBP(2core/4thread,16G memory)だとファンがウォンウォン回る。それはそれは回る。まあクラウドで立てればいいじゃんと言われればそのとおりなのだが、いちいちインスタンス落としたりするのもめんどくさいので、ローカルに自由にいじれるそこそこスペックのインスタンスが欲しくなった。

また、お仕事している会社でESXiを使用しているので、家で構築することで勉強になってお給料アップ!!!!ということを狙ったりもしていた。お給料いっぱいほしい。。

ただ合計で10万を超える買い物だったので、貧乏社会人の自分にはなかなか購入ボタンを押す勇気がなかった。
と思っていたらお酒を飲んだテンションでポチッと購入していた。
欲しいけど値段がネックで買えない物がある場合はamazon見ながら飲酒すればいいと思う。気づいたら届いてるから。

買ったもの

到着 ~ 組み立て

届きました〜〜〜〜

f:id:ketch123:20200628214723p:plain
購入品

。。。
。。。。。
。。 。。。。。。。

パット見で分かる人もいらっしゃるかもしれませんが、メモリの種類を間違えました。。
デスクトップPC用の288pinのメモリを買ってしまった。。
これでインフラエンジニア名乗ってるの死ぬほど恥ずかしいな。
お酒飲んで高い買い物するの癖になってるのでいつかは治そうと思う。多分。

開封だったので返品処理をして全額返金してもらえました。めでたしめでたし。

組立自体はかなり簡単で、背面のネジを外して蓋を取り、メモリとディスクを差すだけだった(写真は取り忘れたので割愛)
ケーブル周りを整えれば機器準備は終わり。

VMwareのライセンス取得

ESXiインストール後に特にライセンスを入力しない場合、60日間で使用期限が切れてしまうらしい。無償版のライセンスがあるので、VMware vSphere Hypervisorのライセンスを取得する。

ライセンスのダウンロードページ へ行き、登録していなければアカウントの登録をする。正しく情報を入力できればコンポーネントとライセンスキーのペアが表示されるのでこれをメモなりブックマークなりしておく。

ESXiのカスタムiso作成

ESXiのisoはvmwareが公開してくれているのだが、どうやら公式のisoに入っているドライバだとnucのNICを識別できないよう。

https://www.virtuallyghetto.com/2020/01/esxi-on-10th-gen-intel-nuc-frost-canyon.html

そのため、公式のisoをベースにドライバを変更したカスタムisoを作成する必要がある。
幸い手順は先駆者がまとめてくれていたのでこれを参考にする。

この手順ではPowerCLIというvmwareが提供しているPowershellモジュールを使用するのだが、自分はwindows環境がなかったのでAWSWindowsインスタンスを作成して作業した。
一応MacでもPowershellは使えるらしいので試してみたが、下記のようなエラーで断念した。。

PS /Users/ketch/esxi-iso-build> Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwareDepot: The 'Add-EsxSoftwareDepot' command was found in the module 'VMware.ImageBuilder', but the module could not be loaded. For more information, run 'Import-Module VMware.ImageBuilder'.
PS /Users/ketch/esxi-iso-build> Import-Module VMware.ImageBuilder
Exception: The VMware.ImageBuilder module is not currently supported on the Core edition of PowerShell.
PS /Users/ketch/esxi-iso-build>

(win機がない人)AWSインスタンス作成

ローカルにwin環境がない人はありがたくAWSインスタンスを借りましょう。
多少もたつくが無料枠のスペックで十分。
作成が終わったらRDPでつなぎましょう。

ビルドバンドルのダウロード

作業するWindows環境で下記のzipをダウンロードする
https://download3.vmware.com/software/vmw-tools/ESXi670-NE1000-32543355-offline_bundle-15486963.zip

powershellで以下を実行する

Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwareDepot .\ESXi670-NE1000-32543355-offline_bundle-15486963.zip
New-EsxImageProfile -CloneProfile "ESXi-6.7.0-20191204001-standard" -name "ESXi-6.7.0-20191204001-NUC" -Vendor "virten.net"
Remove-EsxSoftwarePackage -ImageProfile "ESXi-6.7.0-20191204001-NUC" -SoftwarePackage "ne1000"
Add-EsxSoftwarePackage -ImageProfile "ESXi-6.7.0-20191204001-NUC" -SoftwarePackage "ne1000 0.8.4-3vmw.670.3.99.32543355"
Export-ESXImageProfile -ImageProfile "ESXi-6.7.0-20191204001-NUC" -ExportToISO -filepath ESXi-6.7.0-20191204001-NUC.iso

(win機がない人)RDPで作成したisoをローカルに持ってくる

全然知らなかったけど、RDPでローカルとリモートのファイル共有ができるみたい。。
https://hacknote.jp/archives/50445/

ここまでやったらインスタンスは用済みなのでしっかり削除しておく。

ブータブルUSBの作成

先程作成したカスタムisoをUSBに焼いて、ブータブルusbを作成する。

今回使用したのはunetbootinというソフト。
winだとRufusとかが有名みたい。

ソフトをダウンロードしたらUSBをフォーマットし、isoを焼いていく。
ここも画像撮り忘れた。。

ESXiの起動

ブータブルisoを作成したらいよいよインストール。
usbをnucに挿して電源を起動する。

f:id:ketch123:20200628224103p:plain

f:id:ketch123:20200628224124p:plain

いくつか選択肢が出るが、基本的にデフォルトで問題ない。(rootのパスも聞かれた気がするので適宜設定)
2枚目の画像の下半分にIPアドレスが表示されればインストール完了。 設定したIPアドレスにアクセスすると、ESXiの管理画面が表示されるはず。
f:id:ketch123:20200628225445p:plain

ということでインストールは無事完了。
ここから快適に使うために色々整えていきます。

終わりに

ひとまずESXiの管理画面を表示させるところまでは終わらせられた。。
目標はAnsible(or Terraform)をMacから叩いてVMを起動させることなので、そこを目指して環境構築頑張りやす。