問題タブ [chef-recipe]
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.
cron - シェフ-レシピの繰り返し実行
まず、シェフは特定の役割で指定された間隔でレシピを実行できますか(そしてそれは良い習慣ですか)?
ユーザーアカウントとsshIDを管理するrubyスクリプトがあります。現在、1時間ごとにcronで実行されており、明らかな理由でChefレシピに変換したいと思います(すべてのマシンに存在させたい)。
私はこれを行う2つの方法を見ることができます:
スクリプトをテンプレートに変換するか、レシピはテンプレートを特定のパスにレンダリングしてからcronジョブを登録するだけです。
また
スクリプトをリソースやプロバイダーなどに分割し、Chefに1時間ごとに実行させます。
アイデア?
django - chef-solofrom_fileでエラーが発生しましたbash/tmp / chef-scriptが1を返し、0が必要です
このエラーがchef-soloレシピに表示されますが、これは初めてなので、このエラーや修正方法はわかりません...ファイルまたはディレクトリが見つからない、作成されていないようです...
これはエラーを示すレシピです。
amazon-ec2 - シェフがレシピ/クックブックからインストールしない
Chef を使用してアプリケーションをデプロイする際に、何か基本的なことが欠けていると思います。
opscode リポジトリからたくさんのクックブックを複製しました。私は変更を加え、それらを適切にナイフ処理しました。すべてが構成されているため、bash スクリプトを使用して EC2 インスタンスを生成できますが、Chef のインストールは実行されません。
roles/base.rb には、インストールしたいすべてのアプリがあります。
インスタンスに ssh して、次のようsudo chef-client
に吐き出します。
少し待ちますが、まだ何もインストールされていません。action: install
各レシピ default.rb について明示的に述べる必要がありますか? 私は困惑している。
environment-variables - Chef レシピを使用して環境変数を設定するにはどうすればよいですか?
Chef レシピを使用して環境変数を設定するにはどうすればよいですか?
Chef レシピを使用して環境変数を設定する必要があります。これを達成する方法の例を挙げていただけますか?
ruby - Chef がレシピを読み込むときに存在しない Ruby ライブラリへの依存関係を設定するにはどうすればよいですか?
シナリオ:
- Recipe1: アーカイブをダウンロードして展開します。Ruby ライブラリも定義する CLI を利用できるようにします。
- Recipe2: 前述のライブラリの Ruby API を活用します。
レシピ1/recipes/default.rb:
レシピ2/recipes/default.rb:
ただし、レシピをロードすると、Chef は次のようにアナウンスします。
すべてのレシピが実行中に Ruby ライブラリを宣言/有効化するにはどうすればよいですか?
chef-infra - Chef テンプレートのノード名?
knife bootstrap -N
ノードの名前 ( ) をテンプレートに取得する方法を理解しようとしています。さまざまなアイデアを試しましたが、まだうまくいくものは見つかりませんでした。シェフのレシピからこれにアクセスする方法を知っている人はいますか?
また、Chef レシピで使用できるすべての変数を一覧表示する方法はありますか?
chef-infra - シェフのレシピで次のシェル コマンドを変換するにはどうすればよいですか?
シェフのレシピで次のシェル コマンドを変換するにはどうすればよいですか?
インストール
nginx の Upstart ファイルの作成
sudo vim /etc/init/nginx.conf
VM を再起動する
nginx の実行を確認する
ruby - Chefはapt(apt-get update)レシピを実行していません。Aptは100を返します
Vagrant、mac osx10.7.2でUbuntu11.04を実行します。chefサーバーを実行しています。
postgresqlコミュニティシェフレシピをインストールしようとすると、基本ロールが次のようになっているにもかかわらず、次のエラーが発生します(apt-getを更新するためにaptレシピを追加しました)。
シェフランをしようとしています:
サーバー内から手動で$sudoapt-get updateを実行した場合、問題なくchef-clientinstallpostgresをもう一度実行します。aptレシピが実行されない理由について何かアイデアはありますか?(apt-getのタイムスタンプファイルがubuntuで作成されていないため、実行されていないこともわかっています)。どんな助けでも大歓迎です。
chef-infra - 特定の条件が満たされない場合にchef-clientの実行を中止する方法はありますか?
単純なアプリサーバー/データベースサーバーのセットアップについて考えてみます。データベースサーバーの場所を示す値をアプリサーバーに設定し、データベースサーバーにいくつかのアクセス許可を設定してアプリサーバーからの接続のみを許可する必要があります。
search(:node、 "role:db-server")
と
search(:node、 "role:app-server")
どちらのマシンのレシピ実行からも機能して、必要な情報を取得できます。しかし、検索を実行するときに1つのサーバーが存在しない場合はどうなるでしょうか。「この実行を続行しないでください」と言って、完了していないとマークする方法はありますか。そうすれば、次にchef-clientがそのマシンで実行されたときに、再試行されます。
あるいは、このユースケースに役立つ、私が見逃している気の利いたシェフがいますか(「通知」と「サブスクライブ」は、私が知る限り、それらは私が望むものとほぼ同じであるように見えます)ノード内で発生するものに関心があります)より良いですか?私が検討しているもう1つのことは、スリープ/チェックループを設定して、一方の実行を効果的に一時停止し、もう一方のサーバーが必要な場所に到達するようにすることですが、そのソリューションはかなりエレガントではなく、より複雑な設定でデッドロックの問題が発生する傾向があります。