Knife-ZeroによるRaspberry Pi3の構成管理
お題
Raspberry Piの構成管理をChefで行いたい。 細かい環境構築やセットアップなどをコード化したい。
環境
・OS: Mac OSX Yosemite ・Chef: 14.5. ・ラズパイ: Raspberry Pi 3 ・ラズパイOS: Raspbian GNU/Linux 9 (stretch)
Knife Zeroのインストール
Knife-Zeroのサイトに記載されている方法に従ってknife zeroコマンドをインストール Installation · Knife-Zero
以下のようにknife zer
と打ってUsageが出てくればOK。
$ knife zero FATAL: Cannot find subcommand for: 'zero' Available zero subcommands: (for details, knife SUB-COMMAND --help) ** ZERO COMMANDS ** knife zero apply QUERY (options) knife zero bootstrap [SSH_USER@]FQDN (options) knife zero chef_client QUERY (options) | It's same as converge knife zero converge QUERY (options) knife zero diagnose # show configuration from file
Rasbbian用の設定ファイル用意
bootstrap時には-tオプションで実行したいテンプレートを指摘できる。 以下のサイトにRaspbian用のテンプレートがおいてあったのでそれを利用する。
GitHub - dayne/raspbian_bootstrap: chef bootstrap for raspberry pi
bootstrapの実行
$ knife zero bootstrap -t raspbian-jessie-gems.erb --ssh-user pi --sudo 192.168.11.15 (中略) ERROR: Error installing chef: ohai requires Ruby version >= 2.4. Starting the first Chef Client run... sh: 112: chef-client: not found
よくみると先程ダウンロードしたテンプレート内に以下の記述が。
RUBY_VER=2.3.3
2.4.0に書き換えてあげる
RUBY_VER=2.4.0
別のエラー
OpenSSL::OpenSSLError: password must be at least 4 bytes
knife.rbに以下を書き加えてあげる
ssl_verify_mode :verify_none
bootstrapまではなんとか成功した。