問題タブ [rundeck]
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.
rundeck - Rundeck ジョブでノードを引数として渡す方法
オプションhostname(node)を持つメインの Rundeck ジョブがあります。
そして、このメイン Job には、ステップJob Referenceがあります。引数として渡されたホスト名でコマンドを実行したいと思います。
それは可能ですか?
ありがとう
rundeck - NOPASSWD オプションを使用して sudo ユーザーのジョブ実行を構成するにはどうすればよいですか?
rundeck ジョブからリモートで別のユーザーからコマンドを実行してみます。Rundeck は、特権をエスカレートするための sudo login\passwod メカニズムを提供します。sudoers ファイルのリモート サーバーの NOPASSWD オプション。この場合、rundeck ジョブを構成するにはどうすればよいですか?
私のノード構成:
別のユーザーになるジョブのコマンド例:
実行を試みた後のエラー:
docker - Rundeck の 1 つのステップからの出力をキャプチャして、後のステップで使用するにはどうすればよいですか?
Rundeck を使用して一連の Docker コンテナーをビルド、起動、およびリンクしようとしています。要するに (docker に慣れていない方のために)、イメージが起動されると、コンテナー ID が返されます。このコンテナー ID を後続のジョブの起動に使用したいと考えています。
コマンドラインから実行すると、次のようになります (例のみ!!):
(2 番目のコマンド ラインで最初の戻り値を使用していることに注意してください)
この時点で、2 つのコンテナーが実行されます。2 番目のコンテナはオプションによって最初のコンテナにリンクされ、2 番目のコンテナ内から--link
ホスト名host1を使用してアドレス指定できます。公平を期すために、docker は、コンテナー ID の代わりに使用できる特定のコンテナー名を生成します (または指定することもできます)。一意の名前を作成/追跡する手間を省くために、コンテナー ID を使用することをお勧めします。
最初のコマンド (コンテナー ID) の出力をキャプチャして、2 番目のコマンドで再利用できるようにしたいと考えています。これは可能ですか?
編集: これらのイメージは、「docker build」(チェーンに含めたい同様の ID も出力します) の直後のテストに使用され、「docker rm」および「docker rmi」コマンドが続く可能性があるため、このタイプの出力をキャプチャし、関連する一連の操作を介して実行するための多くの用途があります。これは、コンテナの起動/リンクだけではありません。
rundeck - rundeck から結果を収集する
私はrundeckを初めて使用し、ノードの束にファイルが存在するかどうかを確認する基本的なスクリプトを作成しました。つまり、trueまたはfalseを返します。次にやりたいことは、ファイルが存在するかどうかを解析し、ノード x にはファイルがない、ノード y にはファイルがあるなどの結果を含む単一の電子メールを送信することです。ループしてメールで送信できるように、他のノードからの結果を集約しますか?
scheduling - Rundeck がスケジュールされたジョブを 2 回トリガーする
クラスターには wto rundeck インスタンスがあります。両方のインスタンスの rundeck-config.properties には以下のプロパティがあります
rundeck.clusterMode.enabled=true
また、framework.properties の rundeck.server.uuid 値は、両方のインスタンスで同じです。
そのため、インスタンスの 1 つがスケジュールされたジョブをトリガーする必要がありますが、現在、両方のインスタンスがそれをトリガーしており、すべてのジョブが 2 回実行されています。クラスターを構成した主な理由は、インスタンスの 1 つがダウンした場合に、他のインスタンスがジョブをトリガーする必要があるため、バックアップを作成することです。
rundeck - rundeck ジョブを定期的に停止または再起動するようにスケジュールするにはどうすればよいですか?
24 時間 365 日稼働する仕事がいくつかあります。キャッシュ、スティッキー セッション、接続プールのフラッシュ、メンテナンスなどを行うために、毎週末それらを循環させたいと考えています。
ジョブ定義では、特定の時間に実行するようにジョブをスケジュールする機能が表示されますが、特定の時間に正常に停止するように設定する方法はありません。それは非常に便利です。
sudo - sudo を使用して呼び出されたスクリプト ステップの実行中に Rundeck 権限が拒否されました
私の rundeck ジョブは、sudo を使用して呼び出すように構成された単一のスクリプト ステップで構成されています。ジョブ構成 UI のスクリプト ステップの実行プレビューには、次のように表示されます。
sudo -u ${option.mysudouser} scriptfile
ジョブの実行時に、以下のエラーが発生します:
[sudo] < my ssh user> のパスワード:
sudo: /tmp/< XXX>-dispatch-script.tmp.sh を実行できません: 権限が拒否されました
分析の結果、rundeck によってノード ホストに scp されている/tmp/< XXX>-dispatch-script.tmp.shファイルが、すべての実行権限を持っていないことがわかりました。残念ながら、< my ssh user> と my < sudo user> は異なり、グループを共有していません。そのため、スクリプトを含む一時ファイルを sudo ユーザーとして呼び出すことができなかったため、ジョブの実行はアクセス許可の問題で失敗します。
誰でも提案できますか:
* rundeck が、作成される一時スクリプト ファイルのアクセス許可を決定するための構成値を提供する場合。
* その他の回避策:
以下のようにスクリプトを指定して試しましたが、問題は解決しません:
- chmod 777 /tmp/ -dispatch-script.tmp.sh;sudo -u ${option.mysudouser} scriptfile
- chmod 777 /tmp/ -dispatch-script.tmp.sh && sudo -u ${option.mysudouser} スクリプトファイル
これを解決する方法を提案してください。