2016-09-05 12 views
1

シェフクライアントはサーバーのスタートアップの一部として実行されるのですか、シェフクライアントクックブックによって設定される次の内部だけで実行されますか?シェフクライアントは起動時に実行されますか?

起動スクリプトを手作業で編集しなくても、サーバーが起動すると(シェフクライアントが表示されなくても)シェフクライアントを実行できるシェフクライアントのcookbook設定はありますか?

透明なページを無効にしているため(this mongo doc)、質問しています。

私は簡単にレシピを正しいファイルにエコーすることができますが、再起動すると設定が元に戻ります。私がシェフクライアントが再起動時に実行されることを知っていれば、私はスタートアップスクリプトを使いこなす心配はありません。

答えて

2

デフォルトでは、chef-clientはinitタスクとして実行されるように設定されていません。しかし、シェフクライアントはデーモンとして実行できます。 chef-client cookbookは、chef-clientをデーモンとして設定するために使用できます。デフォルトのレシピをノードの実行リストに追加し、その料理ブックの属性を使用してシェフクライアントの動作を設定します。あなたはシェフ・クライアントとのinitサービス:: init_serviceレシピとして、それを構成することができますしたい場合は

https://docs.chef.io/ctl_chef_client.html#run-as-a-service

https://github.com/chef-cookbooks/chef-client/blob/master/recipes/init_service.rb

+0

OKノードの実行リストにそのレシピを追加すると、起動時にシェフクライアントが実行されます。 – red888

+0

まず、そのレシピをそのノードで実行して、chef-clientをサービスとして設定する必要があります。次回は、起動/再起動するときにchef-clientが起動します。 –

1
  1. あなたは、あなたのcrontabに同様の行を追加する必要があり、特別な 'マクロ' @rebootがある、のcronを使ってシェフを実行することができます:一部のLinuxディストリビューションは/etc/rc.localをサポート

    @reboot /path/to/my/chef-client 
    
  2. ファイル(Debian/Ubuntuのようなもの)または同様のファイルが実行されます。

関連する問題