Chef solo knife コマンド覚書


どうも Chef コマンドを覚えられず、入門 Chef solo を毎回読みなおしてしまっているので、コマンド覚書を作っておく。

  • レポジトリ名 : chef-repo
  • chef クライアントホスト名 : chef-client
  • クックブック名 : cookbook-name

適当に置き換えてください。

新規

レポジトリ作成

Chef レポジトリを作る。

$ knife solo init [chef-repo-name]

クックブック作成

レシピを新規作成する。

$ knife cookbook create [cookbook-name] -o site-cookbooks

ノード設定

chef クライアントに仕立てる。

$ knife solo prepare [chef-client-hostname]

AWS EC2 に適用する場合はキーとユーザ名の指定が必要なので、ec2-user ユーザで作業すると、

$ knife solo prepare -i ~/Keypair/[key-file] ec2-user@[chef-client-hostname]

とする。

nodesディレクトリに [chef-client-hostname].json が作成される。

更新

レシピを編集する

site-cookbooks/[cookbook-name]/recipes/default.rb を編集する。 適用したいレシピが複数に渡る場合はそれぞれの recipes/default.rb を編集する。

適用したいnodeファイルを確認

AWS EC2 AMI からの起動する際のように、すでに chef クライアントとして設定されているがホスト名が変わってしまう場合は、[chef-client-hostname].json ファイル名を割り当てられたホスト名に変更する。

適用したいクックブックが記述されているか、nodes/[chef-client-hostname].json ファイルの中身を確認。

ノードに適用

ノードに適用。

$ knife solo cook [chef-client-hostname]

AWS EC2 に適用する場合はキーとユーザ名の指定が必要なので、ec2-user ユーザで作業すると、

$ knife solo cook -i ~/Keypair/[key-file] ec2-user@[chef-client-hostname]

とする。

Related Posts

長沼公園 - お気に入りの場所

Flutter in_app_purchase で定期購入を実現する方法 2023年版

ペップのビルドアップ UEFA Champions League Final

テクニカルアドバイザー仕事が終わったのでまとめ

Amazon で Kindle とペーパーバックを作るやり方

[思考]老いへの許容

「ひとりスタートアップ」が本の形になりました

2022年を振り返る

ハードウエアのWeb化

本を書きました「ひとりスタートアップ」