** knife-solo, chef-soloを動かすために [#u4745711]
knife-solo, chef-soloを動作させるため「ssh(no passwd), rsync」を導入するのが基本らしいのですが(間違っていたらごめん、あと sudo 権限を付けないといけないとか、まず設定する必要がありますのでその準備からはいりましょう。~
※業務用の環境でどれだけセキュリティを保ちながら運用してるんだ…ってのは、いきなりだけどおいときます。
- CentOS6.4 minimal 環境に導入するよ
-- minimal(最小設定)に knife-solo, chef-solo を導入する理由は、なにも設定されていない環境に構築した方が後々つまずくところも少ないと思っているから。あと実務で使用する場合も、へた気にboxは使えないしね。
-- vagrant ユーザを作成します
--- 「vagrant」ユーザを作成している理由は、今後boxを使用する際にも便利だと思ったから。特に意味はないです。
- knife-solo, chef-soloの違い
-- knife-solo, chef-soloの違いは、knife-soloは「cookbook」を管理するサーバ、chef-soloは「cookbook を元に」実行されるサーバの違いがあります。詳しい説明はここらをみるとよいです。 / [[Chef Soloと Knife Soloでの ニコニコサーバー構築 (2) 〜導入編〜>http://ch.nicovideo.jp/dwango-engineer/blomaga/ar322283]]
** knife-solo側ホストで行うこと [#uedba18e]
- 「vagrant」ユーザを作成します。
# groupadd -g 501 vagrant
# useradd -u 501 -g vagrant -s /bin/bash -m vagrant
# passwd vagrant
- sshのrsa鍵ペアを作成します(nopassphase)。 / http://tukaikta.blog135.fc2.com/blog-entry-32.html
-- .ssh のディレクトリを作成します
$ cd ~
$ mkdir .ssh
$ chmod 700
$ cp 先ほど作成した秘密鍵 id_rsa
$ chmod 600 id_rsa
-- config ファイルを編集します。
$ cd ~/.ssh
$ vi config
Host 192.168.0.*
IdentityFile ~/.ssh/id_rsa
User vagrant
$ tocuh 600 config
** chef-solo側ホストで行うこと [#m25935c8]
- 「vagrant」ユーザを作成します。
# groupadd -g 501 vagrant
# useradd -u 501 -g vagrant -s /bin/bash -m vagrant
# passwd vagrant
- sudo 権限をnopasswd にて付与します。(sudo をインストール必要があります)
# cd /etc/sudoers.d
vi vagrant
vagrant ALL=(ALL) NOPASSWD: ALL
- 公開鍵を設定
-- .ssh のディレクトリを作成します
$ cd ~
$ mkdir .ssh
$ chmod 700
$ cat 先ほど作成した公開鍵 > authorized_keys
$ chmod 600 authorized_keys
** 確認してみる [#h03bdd71]
- sudo の確認
-- knife-solo, chef-solo側ホストでsudo を実行しパスワードが聞かれないこと。
$ sudo su
- ssh の確認
-- knife-solo側ホストから、chef-solo 側にsshでログインするとき passphase を聞かれないこと(chef-solo側に sshd をインストール必要があります)。
$ ssh chef-solo側