問題タブ [knife]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
encryption - ノードのブートストラップ中の Chef Cookbook コンパイル エラー
ノードをブートストラップするためにシェフを使用しています。暗号化されたデータ バッグを作成し、秘密鍵をノードに /etc/chef/encrypted_data_bag_secret としてコピーしました。
ノードをブートストラップしようとすると、次のエラーが発生します。
スタック トレースは次のとおりです。
ヘルプやポインタはありますか?
ssl - ナイフで EC2 サーバーを作成しようとしたときの SSLError
ナイフで新しい EC2 インスタンスを作成してプロビジョニングしようとしていますが、SSL エラーが発生し続けます。
Ruby 2.0.0p0を使用してMac(10.7)からこれを実行しています:
私はopensslをサポートするRubyを正しくコンパイルしたと確信しています。require 'openssl'
irb から実行すると true が返されます。自作経由でインストールされた OpenSSL 1.0.1e を使用しています。
また、ruby 1.9.3-p194 でナイフを実行してみました。これは同じ結果になり、少し役に立たないエラー メッセージが表示されます:「エラー: Excon::Errors::SocketError: ホスト名がサーバー証明書と一致しません (OpenSSL::SSL::SSLError)」。その違いは、エラー メッセージhttps://github.com/ruby/ruby/pull/122を改善したこのプル リクエストの結果です。
curl からの次の出力が関連している可能性があります。
ナイフで EC2 インスタンスを正常に作成するために他に設定する必要があるものはありますか?
amazon-ec2 - ナイフec2はサーバーのログを作成します
サーバーを作成するために実行リストを指定してknife ec2 create serverを使用し、最初の使用のためにそれをブートストラップします。
ブートストラップ中に、こちらのドキュメントを使用して bash コマンドを実行します。この基本スクリプトには、ステータスを報告するためのエコーが含まれているため、進行状況を追跡するのに便利です。
出力が表示されるのは、障害が発生したときだけです。
出力をオンにしたり、出力をファイルに書き込む方法はありますか?
attributes - ナイフを介してシェフのレシピに渡される JSON 属性を読み込むにはどうすればよいですか?
基本的にknife ec2 create serverコマンドの入力を受け入れるWebサーバーがあります。
私のナイフコマンドで、私は渡します
ドキュメントから、ロードされているレシピでこれを行うことができると思いました:
@@branch
ただし、返されないため、git クローンは失敗しています。または、少なくともシェフのログには、結果の出力が開始されると書かれています。
渡された JSON 属性を読み込むにはどうすればよいですか? 正しい方法は何ですか?
編集:
手動でナイフ コマンドを入力すると、JSON 属性は JSON ではなく Ruby ハッシュを使用して読み込まれるようです
JSON Attributes: {"branch"=>"Air"}
最終編集:
私のコマンド:
sudo knife ec2 server create -x ubuntu -i ~/.ssh/key.pem -I ami-0eca6e67 -d ubuntu-12.04 -j '{ "branch" : "clone" }' -Z us-east-1a -s subnet-6827ec00 -f c1.medium -g sg-bc9d86d0 -r 'role[role]'
以下に答えてください。
ruby - Chef - 動的変数でテンプレートを作成しますか?
シェフのレシピに少し挑戦しています。私はシェフが初めてなので、ご容赦ください。
ステップ 1: 私のシェフのレシピでは、Ruby Passenger をインストールしてから、Nginx と共に Passenger nginx モジュールをコンパイルします。
ステップ 2: その後、テンプレートを使用して nginx 構成ファイルを作成します。この構成には、手順 1 の完了に依存する Passenger の場所が必要です。
問題: 実行の開始時に Chef がテンプレートをコンパイルしているように見えます。したがって、最終的には、ステップ 1 が実行される前にステップ 2 が実際にコンパイルされます。これは、passenger_root 変数が空白であることを意味します。Passenger_root を取得してテンプレートを実行するには、ステップ 1 を完了する必要があります。
ステップ 2 のコードを a でラップしようとしましたruby_block
が、うまくいきません: undefined method
template' for Chef::Resource::RubyBlock`.
ここで何をすべきかわからない、またはこのような場合の Chef のベストプラクティスは何ですか?
前もって感謝します、
レナード
ruby - knife configure コマンドの起動中にエラーが発生しました
シェフを始めようとしたので、ラップトップ (OS : OSX 10.8) に ruby 2.0.0-p0 でシェフの宝石をインストールしましたが、「ナイフ構成」しようとすると、次のメッセージが表示されます。
ssh - ナイフ SSH 属性が機能しない
コマンドに混乱していknife ssh
ます。ドキュメントによると、-a
ノードに FQDN または ipaddress 属性が設定されていない場合は、フラグを渡すことができます。また、それらの属性をオーバーライドしたい場合。knife ssh
これを実行して、ローカル VM でテストしています。
私が受け取るエラー:
FATAL: 1 つのノードが見つかりましたが、接続を確立するために必要な属性がありません。--attribute を使用して接続を開く別の属性を設定してみてください。
私はChef 11.4.0を実行しています