chef clientについてのメモ
chefの理解を深める為に調べたことをツラツラと書く。
bootstrapの実行の流れ
knife bootstrapを実行時の処理の流れ
- workstationから対象ノードにsshしbootstrapスクリプトを実行
- chef-clientのinstall scriptをchefのサーバから取得
- chef-clientのinstall
- chef-clientを実行しchef serverに登録
- run-listがある場合はrun listを実行
chef-validator
nodeをchef serverに登録時に使用する認証の仕組み。workstationに保存されている秘密鍵をbootstrap処理時にnodeに保存し、その秘密鍵をchef serverとの認証に使用する。登録後は不要となるので削除していい。
chef serverへのnode登録に必要となる情報はvalidatorの名前と秘密鍵。
chef 12以降であればvalidatorの名前はデフォルトはORGNAME-validator (ORGNAMEはorganization名によって変化)。
validatorは複数登録可能で、knifeからもchef serverのWeb UI上からも追加可能。
https://docs.chef.io/server_manage_clients.html#chef-validator-keys
http://www.mattstratton.io/creating-multiple-validator-keys-in-chef/
http://stackoverflow.com/questions/24788920/chef-clients-and-validators
chef-clientの実行の流れ
chefで利用される鍵
chef-client, knife, chef-validatorでそれぞれchef-serverへのアクセスに専用の秘密鍵を利用する。
Nodeにはchef-clientのための秘密鍵及びchef-validatorの秘密鍵が保存される。chef-clientの秘密鍵はbootstrap処理時にchef serverにより生成されたものを利用する。chef-validatorの秘密鍵はknifeを実行したworkstation上のものが保存される。
Workstation上にはknifeで利用する秘密鍵がchef-repo毎に保存されている。
Chef server上での鍵管理操作
設定ファイル
knife.rb
項目 | 説明 | 例 |
---|---|---|
log_level | ログレベル | :info |
log_location | ログファイルの場所 | STDOUT /var/path/to/log |
node_name | Chef serverの認証に使う名前又はknifeを実行しているホスト名 | "nyamage" |
client_key | chef serverへのアクセスの際の認証に使用する秘密鍵 | /Users/nyamage/.chef/nyamage.pem |
validation_client_name | chef server登録時に使うvalidation clientの名前 | chef-validator |
validation_key | chef clientのchef serverへの登録に使用する秘密鍵 | /etc/chef-server/chef-validator.pem |
chef_server_url | chef serverのURL | https://chef.example.com |
syntax_check_cache_path | cookbookに保存されているどのrubyファイルがシンタックスチェック済みかを保存する場所を指定 | /Users/nyamage/.chef/syntax_check_cache |
Author And Source
この問題について(chef clientについてのメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/nyamage/items/4df2790e24428e81768a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .