問題タブ [puppet]
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.
deployment - アプリの複数インストール - 対処方法
PHP、MySQL などで作成されたアプリがあります。このアプリには、beanstalkd、Solr、およびいくつかの PHP 拡張機能など、いくつかの依存関係があります。
顧客ごとに、他の顧客と共有されているサーバーまたはその顧客だけがいるサーバーにアプリを個別にインストールします。
今のところ、Puppet スクリプトを使用して新しい顧客をブートストラップし、何かが変更されるたびに手動で各顧客に行って git pull を作成したり、データベースを更新したりしています。
私たちが探しているのは、次の機能を可能な限り多く備えたツールです。
- すべての顧客とその現在のリビジョンを確認できる Web インターフェイス
- 新しいインストールをブートストラップする機能
- 既存のインストールを特定のリビジョンまたはブランチに更新する機能
新しいサーバーをブートストラップするためのツールを探しているわけではありません - 私たちは今でも手動で行っています。代わりに、既存のサーバーでクライアントのセットアップを自動化する方法を探しています。
これには Chef または Puppet で十分でしょうか? もっと適切なツールはありますか?
puppet - puppet kick を使用すると、puppet クライアント サーバー接続が拒否されました
私は非常に奇妙な問題を抱えています。複数のサーバーで puppet クライアントをセットアップしましたが、そのうちの 1 つに問題があります。私が呼び出すとき:
すべて正常に動作します。新しい変更がシステムに適用されます。
サーバーからクライアントに変更をプルしようとすると:
クライアントの syslog でエラーが発生しました:
puppetclient.domain.ltd の構成ファイルは次のとおりです。
puppet.conf
auth.conf:
namespaceauth.conf
パペットマスター バージョン 2.7.9
パペット クライアント バージョン 2.7.6
puppet - Puppetを使用してリモートサーバー上のファイルを変更する
OpenVPNをインストールして構成するクラスがあります。ただし、サーバーがユーザーを認証するには、RADIUS認証サーバーの構成ファイルにエントリを作成する必要があります(現在、Puppetによって管理されていませんが、この問題を解決するために必要な場合があります)。
新しいOpenVPNサーバーがプロビジョニングされたときにこれを自動化するための最良の解決策は、execリソースを使用して認証サーバーへのSSH接続をスクリプト化することでしょうか?execは、「creates」パラメーターを使用して、execがべき等であることを確認します。または、誰もが提案する可能性のあるシンプルさとセキュリティの観点から、より良い解決策はありますか?
dry - この操り人形クラスをどのように DRY できますか?
ノードが Debian マシンであるかどうかに応じて、わずかに異なるアクションを実行する次のコードを取得しました。
重複を減らす方法があるはずですが、私には明らかなことは何もありません。考え?
puppet - パペットが何かを変更したいときに通知する
私は現在、私たちの環境でパペットを実装する作業を行っていますが、パペット自体が満たすことができるかどうかわからないというリクエストがあります。
/etc/myconfig.conf の下に構成がある場合。そして、それがまだ存在しない場合にのみ書き込まれるようにしたい。onlyif 関数を使用できます。しかし、パペットがファイルの変更を検出した場合、notify() または何かを実行させる方法はありますか?
実際にファイルを変更したくありません。ファイルが希望どおりではないことを通知するだけです..
この質問には実際には例も何もありませんが、誰かがここで私を正しい方向に押し上げてくれることを願っています. ヒントに基づいてこれに対する解決策を作成する場合は、他の人が学べるように自分で回答を投稿します。
ありがとう
sinatra - ラック: `bundle install --deployment` 中の Bundler::GemNotFound エラー
そのため、Rack 上で Sinatra アプリを実行している実稼働マシンがいくつかあります。Puppet (サーバーに変更を同期するために使用している) がプロジェクトの Gemfile.lock が変更されたことに気づき、その結果、bundle install --binstubs --deployment
新しい gem を取得するためにコマンドを発行する必要があるまで、通常はすべてが面倒です。これが発生すると、新しい gem がまだインストールされていないため、Bundler を呼び出して gem を要求するときに、すべての http リクエストで 500 エラーが発生します。
通常、サーバーが稼働していることを確認するために定期的に http 要求を行う別のプロセスのために、少なくとも 1 つの Rack プロセスがぶら下がっていますが、これが発生すると、稼働中の Rack プロセスはありません。問題が新しいインスタンスにあった場合、ディレクティブが役立つように思えPassengerMinInstances
ますが、定期的にページを取得してサーバーがまだ稼働していることをテストするプロセスもあるため、リクエストを処理するために少なくとも 1 つの Rack プロセスが生きている必要があります。 .
touch
puppet は、( restart.txt ファイルを ing することによって) 実際に Rack を再起動するまでは (restart.txt ファイルを使用しbundle install
て) 完了しないことに注意してください。誰もこのようなことに遭遇しましたか?私が見落としたすべてのリクエストで環境全体をリロードしないためのラックオプションはありますか?
ubuntu - puppet がドロップボックス デーモンを起動できないのはなぜですか?
Ubuntu 11.10で Dropboxコマンドライン ユーティリティ/デーモンを使用していますが、Puppet では機能しません。
Dropbox を手動で正常に制御できます。
ただし、ドロップボックスが常に実行されるように Puppet を構成すると、次のログ メッセージで失敗します。
これが私のパペットマニフェストファイルです:
上記のエラー メッセージは、Dropbox が既に実行されている場合でも同じエラー メッセージ (「起動できませんでした」) が表示されるため、Dropbox の「ステータス」コマンドが Puppet に対して機能していないことを示しているようです。
何かご意見は?
ssl - PuppetSSL接続の問題
人形バージョン2.6.6
puppetエージェントで次のようなSSL接続エラーが断続的に表示されます。
また:
これがマスターとエージェント間のTLSハンドシェイクタイムアウトが原因である可能性があると説明している投稿をいくつか見つけましたが、実際に問題がある場合にこれを構成できる場所が明確ではありません。
どんな助けでもありがたいことに感謝します!
よろしくお願いいたします。AndrewEells
puppet - ファイルを置き換える前に、パペットにサービスを停止させるにはどうすればよいですか?
パペット サービスの背後にあるソフトウェアを置き換えるときに、競合状態を回避しようとしています。
これを行うには、パペットはサービスを停止し、実行可能ファイルを置き換えてから、サービスを開始する必要があります。パペットにそれをさせる方法はありますか? 実行可能ファイルを置き換えてから、ステータスを確認し、必要に応じてサービスを再度開始することを推奨する方法のようです。
(この例は不自然です。実際の競合状態は、この単純なものにはほど遠いものです...)
この問題をシミュレートするために使用しているパペット マニフェストは次のとおりです。
これがtest-v1ファイルです。test-v2ファイルは同じですが、v=2
.
そして init.d スクリプト:
twitter - 殺人、操り人形、シェフの違い
3つの技術をすべて使用した経験のある人はいますか? 私は、murder がコード展開用の twitter のオープン ソース プロジェクトであることを発見しました。BitTorrent を使用して高速なファイル配布を実現していますが、ソフトウェア配布には puppet とchef も使用されています。この3つを簡単に紹介できる人はいますか?