imog

主にUnityとかの事を書いています

Chef実践入門を読んでいる 4

球磨焼酎美味しい

今日の進捗 4.2 まで

  • Berkshelfを使って外部クックブックを管理しよう
  • roleとenvironmentsを使い分けて、見通し良い感じに書こう
  • 複数のノードにまとめて適用する処理はchef-soloにはないので外部のツールを使おう、capとか
  • Serverspec更新したよ

roleとenvironmentってなんだろなーと思ってたところが全部書いてた。役割と環境なるほど。 attributeが結構どこからでも定義できるので、うっかりよくわからんとこで上書きしちゃってたーみたいな事故が怖いなと思った。気をつけよう。

4章に入ってパッケージとかノード名とか変わったのでその辺を修正

Serverspec修正 by adarapata · Pull Request #2 · adarapata/chef-practice · GitHub

ちなみに、写経してvm二台立ち上げて片方にchef適用したら以下のエラーが出た。 FATAL: Cannot load configuration from /home/docker/chef-solo/dna.json

調べたらOpenSSHのControll Masterという機能を使って接続するところに問題があったらしく、すでに解決法まで出てた

cross-black777.hatenablog.com

  • ControllMasterをOnにするとsshセッションのコネクションを使いまわすので速度が速い
  • 同名ホストでポートだけ分けてたのでソケットファイル名が重複して通信に失敗した
  • よって、dna.jsonが作られていない

今回は書いてる通り --ssh-control-master no を渡して無効にしたら解決した。

このブログなかったら詰んでた気がするので気をつけよう。