サーバに色々デプロイしようとしてハマった記録
Chef でローカル仮想マシン上に目的のサービスがデプロイできるようになったので、リモートサーバへのデプロイを実行してみた。
その時、かなり色々つまづいたのでメモ。
iptables は一時的でも切るしかない
ssh ポート以外にも何かのポートを使っているらしい。
iptables が入ってると、細かい原因もログも残らないまま「Connection refused」で悩むことになる。
しかも ssh は通る上に、knife solo cook [アカウント@][ホスト] [ホスト.json] -p [SSHポート]
を指定するものだから、SSHしか使わないと勘違いしやすい。
MySQLServer は過去データ、設定も含め消してから
http://community.opscode.com/cookbooks/mysql
yum コマンドでインストールした MySQLServer は yum remove mysql-server
で消してもDBファイルが残る。
しかも MySQL のアカウントは DB に保存されているので、Chef で MySQL を突っ込むと復活した挙句、root パスワードが一致しないとか、root@127.0.0.1
アカウントを変更できない(消してたりした場合)で先に進まなくなる。
しかもこの時出る ruby スタックにはSQLファイルの中身は表示されないので、気づくまでハマる。
カン所は STD エラーの方を眺めて見ると、sql ファイルを生成して食わせているのが分かるので、ssh で入ってファイルを眺めれば分かる。
SELinux の有無は確認しよう
入ってるかどうか分からずに chef を実行すると色々エラーを喰らわせられる。
環境を確認しないと痛い目を見る。
結論
色々いじっている環境に後から Chef を突っ込むのは色々ハマる。
大分長い間運用している状態なら、いい加減サーバを組み立て直した方が良いかもしれない。
後、CentOS の cookbook は案外 6.x 以上のものがあるので、5.x 系ならサーバ移動を考えるべきかもしれない。
まぁ何にしろ当座はこれで動かしてみようか。