問題タブ [ansible-role]
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.
ansible - Ansible: ロールのタスク構造
私は4つのプレイブックを持っています。そのうちの 2 つはターゲット マシンにサービスを展開しており、そのうちの 2 つはサービスを再度削除しています。今、私は彼らに役割を与えたいと思っています。しかし、ベストプラクティスが何であるかはわかりません。
2 つのデプロイ プレイブックは、変数とテンプレートが異なるだけで、まったく同じことを行っています。プレイブックの削除にも同じことが当てはまります。
Atm 私の構造は次のようになります。
これは、ユーザーが行うことを意図した方法ですか?
私は特に、まったく同じことを行うタスクについて疑問に思っていますが、異なる役割で見つけることができます。また、自分のタスクを main.yml タスク ファイルに含める必要がある場合。
ansible - 個々のタスクではなく、ロールまたは Playbook の Ansible 終了コード
Ansible ロールまたはプレイブック (個々のタスクごとではなく) の終了コードを取得し、終了コードに応じて分岐することは可能ですか?
タスクではなく、Ansible ROLE ごとに特定のフラグ (成功/失敗) を作成する必要があるアプリケーションがあります。役割ごとに 1 つの終了コード。
db2 - root として接続するときに、Ansible ロールから非特権ユーザーとして特定のタスクを実行する方法
Ansible のエスカレーション機能を使用して、権限のないユーザーとしてロール内の特定のタスクを実行しようとしましたが、ロールを呼び出して Playbook を実行するルート ユーザーによってタスクが実行されます。私の問題は、同じロールの root ユーザーを使用して DB2 製品をインストールおよび構成した後、DB2 for LUW に新しいデータベースを作成することに関連しています。新しいデータベースを作成するシェル スクリプトがありますが、(root ではなく) db2inst1 として実行する必要があります。公式のAnsibleドキュメントとstackoverflowのいくつかのスレッドで提案されているように、become、become_user、become_methodを試しました。
これが私の Ansible ロールの抜粋です。
また:
この行も my に追加しましたansible.cfg
:
また、Ansible パッケージを 2.0.1 から 2.1 にアップグレードしました。しかし、これは効果がなく、タスクは引き続き root として実行されます。
次のようにプレイブックを実行します。
何が欠けているのかわかりません。助けてください。
前もって感謝します!
ansible - Ansible Playbook で、より多くの並列処理を使用してグループベースのロールを適用するにはどうすればよいですか?
Ansible 2.1 を使用しています。ホストが既にインベントリにグループ化されているとします。次に、次のようなプレイブックを実行します。
設定したフォークの数に関係なく、Ansible はロールを 1 つずつ適用しているようです。無駄なタスクスキップメッセージでコンソールをスパムすることなく、より多くの実行並列処理を得るためにプレイブックを構築するより良い方法はありますか?
つまり、そのロールbar
は、すべてのホストに適用されるfoo
と同時に、eek
すべてのホストに適用されbaz
ます。グループメンバーシップを条件としてロールを適用するとうまくいくように見えますが、スキップすると出力が非常に読みにくくなります。
ansible - Ansible: コマンドラインからロールを実行できますか?
「apache」という役割があるとします
ここで、Ansible ホストのコマンドラインからホスト 192.168.0.10 でそのロールを実行したいと考えています。
それを行う方法はありますか?