githubリポジトリとansible-runnerのドキュメントサイト(公式のansibleプロジェクトから)からREADMEファイルを読みましたが、ansible-runnerについて何が理解できません。どの場合に役立ちますか?追加の機能をもたらすプロジェクトですか、それとも異なる方法でansibleを実行するために作成されたプロジェクトですか?
githubリポジトリとansible-runnerのドキュメントサイト(公式のansibleプロジェクトから)からREADMEファイルを読みましたが、ansible-runnerについて何が理解できません。どの場合に役立ちますか?追加の機能をもたらすプロジェクトですか、それとも異なる方法でansibleを実行するために作成されたプロジェクトですか?
回答:
このプロジェクトは、実行可能なansibleプレイブックの自動化をサポートするためのものです。これを行うためのAnsible TowerまたはAWXと呼ばれるGUIベースのプロジェクトがありますが、ansible-runnerは、本質的にansible-playbookコマンドを置き換える自動化の基礎となる層のようです。
一部のスクリプトの一部としてansible-playbookを使用しようとすると、自動化に関して非常に深刻な問題がいくつかあります。ansible-playbookの出力は、構文解析に関して太陽の下で最もひどいものです。したがって、独自の出力プラグインを作成することから始めて、そのためのパーサーを作成する必要があります。次に、環境変数やパスワードなどの多くの管理方法を理解する必要があります。したがって、ansible-runnerがこれに対する答えです。タスクやプレイブックの実行によるアーティファクトを保持し、さらなる自動化でansibleのカプセル化を可能にします。
シェルから実行することも、Pythonモジュールとして実行することもでき、そのための参照コンテナさえあり、AWXによって使用されることは明らかです。さらに、プロジェクトのイベントエミッターは、ELKなどの監視システムやメッセージバスタイプのシステムにプラグイン可能であると期待されます。
Jiriの回答を完了するために、私はそれansible-runner
がOpenShift-Operator FrameworkのAnsibleランタイムとして使用されていることを発見しました。ポッドでAnsibleプレイブックまたはAnsibleロールを実行して、リソースに変更が表示されたときにクラスターのステータスを調整します。
つまり、コンテナの実行とansible-runner
同じように、runc
または実行するcri-o
ことができます。