きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

Packerに悪戦苦闘中

Packerを使いRHEL6.5をkickstartでESXi5.5上に作りたい。


やっていて少しわかったこと。


PackerはHTTPサーバを自前で立ててくれる、少しの間。
そこにks.cfgを置く。


vmware-isoビルダーのboot_commandのところに、Redhat用のコマンドを書く。HTTPIPとHTTPPortは、Packerが起動するサーバーのアクセス情報が埋め込まれてくる。
公開されるディレクトリはhttp_directoryに書く。



でも、まだ上手くいってない。


Packerを配置したLinux VM(手動インストール)のファイアウォールが不味かったのが一点。
sshの22しか開けてなかった。
Packerはデフォルトだと8000-9000のあいだを好き勝手にランダムに使う。
そこで、http_port_minとhttp_port_maxの設定を加える予定だ。
並列で動かさないなら1つ開ければいいだろう。


そこを直してもまだブートに失敗する。
たぶんvmxの設定内容が足らないのかもしれない。
ethernet0.*まわりを今度追加するつもり。
kickstartファイル自体をダウンロードできないのでネットワークの問題だ。


あと、remote_datastoreに括弧が入ってると失敗する問題にでくわした。
データストア名を変更。
Packerはそこにフォルダを2つ作るのだが、パーミッション的にrootしか触れないところ。嫌なので、独自にフォルダを作って、非rootユーザーが書き込めるようにした。


システム管理者ロールを持たないユーザーはESXiホストへのsshアクセスが禁止されているので、そこにも穴を開けた。
/etc/security/access.confで+にする。
たぶん再起動とかされたら戻る。


Linuxをインストールする前の空のvmxも見た方が参考になりそうだ。
そのファイルと、packer build -debugでちまちま動かしてる間にできるvmxを比較してみよう。そして、コンソールも盗み見る。


そういえばheadlessを指定してなくて、VNCでアクセスしようとしている。
別にインストール時のコンソールをVNCで見たくはない、指定しとこう。
将来的にはVNCを使うつもり、ESXiにVNCの穴を開けなくてはいけない。この設定は前にスティッキービットが怪しいようだと調べていたところだ。


kickstartも初めて使う。
どうやってこのファイルをカスタマイズしよう。
ホスト名やIPアドレスは、kickstartに書かずにboot_command側に書き足そうかな。そうするとpackerの変数が使える気がする。できるかな、できたらいいな。