cenos6.4(64bit)でのchef-solo環境構築 2013 年 4 月 20 日

■ selinuxはオフに
# vim /etc/sysconfig/selinux
SELINUX=disabled

サーバ再起動
# shutdown -r now

■yumを最新に
# yum install yum-fastestmirror
# yum update

■ホスト名を統一
# vim /etc/sysconfig/network
HOSTNAME=example1

# vim /etc/hosts
127.0.0.1 example1 localhost localhost.localdomain

設定後にhostnameコマンドで確認
# hostname
example1

■chefsoloグループとユーザ作成
groupadd -g 1000 chefsolo
useradd -g chefsolo -u 1001 chefsolo
chmod 755 /home/chefsolo

■sudoユーザ
# visudo
%chefsolo ALL=(ALL) ALL

■SSH設定
# mkdir -p /home/***/.ssh/
scpなどで、id_rsa.pubを転送
authorized_keys作成
# touch authorized_keys
# cat id_rsa.pub >> authorized_keys

# chmod 700 /home/***/.ssh/
# chmod 600 /home/***/.ssh/*

# vim /etc/ssh/sshd_config
PubkeyAuthentication yes ←コメントアウト
AuthorizedKeysFile .ssh/authorized_keys ←コメントアウト
PasswordAuthentication no
UsePAM no

再起動
# /etc/init.d/sshd restart

※SSHの設定が反映されて、鍵認証+パスワードを入力しなくてもログインできるようになる。
接続元の.sshにconfigで定義しておくとホスト名でログインできる。
# vim /home/example1/.ssh/config
Host example1
HostName 192.168.58.***
port 22

# ssh example1
で、ログインできればOK。

■rubyインストール
# yum install http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install patch git gcc-c++ readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel make autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel

# curl -L https://get.rvm.io | sudo bash -s stable

# rvm install 1.9.3

# use 1.9.3 –default

# ruby -v

■chefインストール
※ruby1.9.3だとlibyamlが無いと警告が出るので
/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/yaml.rb:56:in `‘:
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

psychをインストールしてから
# gem install psych

chefのインストール
# gem install chef

バージョン確認
# chef-solo -v

knife-soloをインストール
# gem install knife-solo

knife-soloバージョン確認
# gem list | grep knife-solo
knife-solo (0.2.0)

—————————
ここから一般ユーザでの作業
■chef-soloでhello world
リポジトリの作成
# git clone git://github.com/opscode/chef-repo.git

■knife-soloインストール
# gem install knife-solo

knife-solo 0.3.0を使う
# git clone git://github.com/matschaffer/knife-solo.git
# cd knife-solo
# rake install

vim /home/***/.chef/knife.rb
knife[:solo_path] = ‘/tmp/chef-solo’ ←最下部に追加

■gitを最新に
http://d.hatena.ne.jp/torutk/20130128/p1

———————
クライアントへのSSHログイン設定
http://www-net.nifs.ac.jp/nifscc/manual/man-sshrsa.html
■ホストで鍵を作る
# ssh-keygen -t rsa
Enter file in which to save the key (/home/mukaeakihiro/.ssh/id_rsa): id_rsa

鍵指定でログイン
ssh -i id_rsa ホスト名

■knife-soloで環境構築(ホスト)
# knife solo init chef-repo
# cd chef-repo

■knife-soloでクライアントサーバの環境構築
# knife solo prepare

■作成したリポジトリをgitコミット
# git init
# git add .
# git commit -m ‘first commit’

■cookbook作成
# knife cookbook create hello -o site-cookbooks

関連する記事:

Leave a Reply