Chef-soloに関するなぐり書き
前提
◆Chef-repo配下にsolo.rbというファイルがあって、
中に各レシピまでのパスが通っていること。
(例:cookbook_path ["C:/Users/Administrator/chef-repo/cookbooks"])
※Windowsの場合はここのパスは(円マーク)ではなく/
◆私の場合は、solo.rbがchef-repo配下、
JSONファイルがchef-repo/nodes配下にあります(それにより実行文変わる)
◆Windows server環境下でchef-soloを実行するまではここを見てください。
◆Powershellを使用
トライその1.ユーザとパスワードを作成
1.ユーザ作成用のクックブックを作成する(今回はadduser)
(ディレクトリはchef-repo)
> knife cookbook create adduser -o cookbooks
2.シャドウパスワードっていう暗号化したパスワードが必要らしいので生成。
ただそれに必要なopensslコマンドが使えないのでここからインストール
3.暗号化したパスワードを生成
> openssl passwd -1 '暗号化したいパスワード'
暗号化されたパスワードの文字列
4.usersの中のrecipesの中のdefault.rbに追記
user "ユーザ名" do
password "暗号化されたパスワードの文字列"
supports :manage_home => true
action :create
end
5.nodes配下にJSONファイルを作成(今回はadduser.json)→編集
{
"run_list": [
"recipe[adduser]"
]
}
6.実行
> chef-solo -c solo.rb -j nodes/adduser.json
7.確認
> net user
\\WINほにゃらら のユーザー アカウント
-------------------------------------------------------------------------------
Administrator Guest 名前(default.rbで設定したもの)
コマンドは正常に終了しました。