タグ付けされた質問 「ansible-playbook」

4
Ansible:デバッグとしてではなく、プレイブックの再生中に「catファイル」を作成して出力を画面にエクスポートできますか?
ユーザーごとにGoogle認証システムをインストールして構成するプレイブックを作成しました。 catgoogle_authenticator構成ファイルへのプレイブックの最後のステップが必要です。 「デバッグ」モジュールを使用すると、画面にデータを表示できますが、デバッグメッセージとしてのみ取得できます。 TASK: [debug var=details.stdout_lines] **************************************** ok: [localhost] => { "details.stdout_lines": [ "ZKMFTE2ADYA2OYCH", "\"RATE_LIMIT 3 30", "\" DISALLOW_REUSE", "\" TOTP_AUTH", "12920994", "88224784", "69464205", "38144121", "45634120" ] } 私はそのようなことができるとオンラインで読みました: - name: Print to screen google authenticator details command: /bin/cat {{ google_authenticator_secret_file_location }} register: details tags: google_2fa_user - debug: msg="{{ details.stdout_lines …

2
辞書キーがansibleタスクで定義されていないことを確認する方法はありますか?
私のコードにはタスクがあります - name: cool task shell: 'touch iamnotcool.txt' when: me.cool is not defined 私の変数は次のようになります --- me: stumped: yes そのため、タスクを実行すると、次のエラーが返されます {"failed": true, "msg": "The conditional check 'me.cool' failed. The error was: error while evaluating conditional (me.cool): 'dict object' has no attribute 'cool'.

2
Ansibleで複数のプレイブックを順番に実行する方法は?
私は、新しいサーバーインスタンスを起動するために、いくつかのAnsibleプレイブックに取り組んでいます。サーバーを正常に起動するには、特定の順序で実行する必要がある約15の異なるプレイブックがあります。 私の最初の考えは、実行するansible-playbook playbook_name.yml必要がある各プレイブックに対して1つのエントリを実行して複製するシェルスクリプトを記述することでした。 マスタープレイブックを使用してこれを行うより賢明な/より良い方法があり、もしそうならどのようになりますか(例を高く評価します)。 すべてを実行する1つのモノリシックプレイブックを作成することもできますが、最初にルートとして実行され、後でsudoユーザーとして実行される一部のプレイがあります。

1
ansible通知が機能しないのはなぜですか?
私はansibleを学んでいて、簡単なプレイブックを書きましたが、理解できません。私を助けてください。 私のプレイブック: - hosts: HA gather_facts: False tasks: - name: Installs pacemaker yum: pkg=pacemaker,pcs,resource-agents state=latest notify: - pcsd start handlers: - name: pcsd start systemd: name=pcsd state=started 彼は通知をスキップしました: PLAY [HA] ********************************************************************** TASK [Installs pacemaker] ****************************************************** ok: [test-ha2] ok: [test-ha1] PLAY RECAP ********************************************************************* test-ha1 : ok=1 changed=0 unreachable=0 failed=0 test-ha2 : …

1
100台までのホストに対する単純なAnsibleプレイブックの合理的なパフォーマンスとは
古いcfengine2インストールを置き換えるAnsibleを検討し始めています。私は簡単なプレイブックを持っています: sudoersファイルをコピーします テンプレート化されたresolv.confをコピーします(group_varsおよびhost_varsデータを供給) いくつかのサービスが実行されていることを確認します ローカルユーザーの存在を確認します プレイブックは、97台のマシン(すべてが1ギガまたは10ギガの高速ネットワークで接続され、LANレイテンシが1ミリ秒未満)に対して実行するのに4分以上のウォールクロック時間を要し、2コア4GメモリVMでCPUの50%以上を消費しますそれを実行します。 1台のマシンに対して実行するのに約11秒かかり、約4秒のuser + sys CPU時間を消費しますが、TBHは依然として作業量に対して少し過剰に見えます。 明らかなビット: playbook-dir local ansible.cfgでパイプライン処理を明示的に有効にしました 同じローカルansible.cfgが有効なjsonfileへのファクトキャッシングがあります 私はフォークを50に設定しています、同じです(他の値を試しました) AnsibleはParamikoではなくSSHを使用しており、永続的な制御ソケットを使用していると確信しています-実行中にSSHプロセスが開始されて永続化していることがわかります。 このレベルのパフォーマンスは正常ですか、セットアップに問題がありますか?もしそうなら、どうすれば決定できますか? 編集:2017年8月現在、この問題は引き続き発生しています。Ansibleバージョンは2.2.1であり、プレイブックのサイズは現在拡大しています。最新の番号: 98ホスト ansible -m ping all 4.6秒の実時間、3.2秒のユーザー、2.5秒のsys時間 完全なプレイブックの実行には4分かかり、実行中に100%のユーザーと〜35%のシステムCPUを使用します(2コアVM展開サーバーでは、100%が1つのフルCPUです) ターゲットOSは主にCentOS 7、一部のCentOS 6です。 プロファイリングでは、特定のタスクのホットスポットは明らかになりません プレイブックは現在はるかに大きくなっていますが、プレイブックサーバーのCPU負荷のレベルを正当化するものはまだないと思います。私が見る限り、それは主にファイルのコピーといくつかのテンプレートの拡張です。 host / groupvarsを非常に広範囲に使用していることに注意してください 何人かの人々がプロファイリング、プロファイリングの実行のテールについて尋ねてきました: Tuesday 01 August 2017 16:02:24 +0100 (0:00:00.539) 0:06:22.991 ******** =============================================================================== yumrepo : centos repos -------------------------------------------------- …

1
ansible runグローバル変数
ansibleを使用して、サーバーのクラスターを作成したいと思います。 1つのメインプレイブックに、いくつかのサブプレイブックを含めています。 - include: playbook_commandserver.yml - include: playbook_agent.yml playbook_commandserver.ymlで、コマンドサーバー(aws上)を作成します。次に、set_factモジュールを使用してコマンドサーバーのDNS名を記憶するロールをトリガーします。 - name: Get hostname of command server shell: /usr/bin/host $(/usr/bin/curl -s http://ipecho.net/plain) | /usr/bin/awk '{print $5}' | /usr/bin/awk -F 'aws.com' '{print $1"aws.com"}' register: cs - name: Set hostname of command server as fact set_fact: commandserver="{{ cs.stdout }}" commandserver実際には、同じプレーではなく、同じ脚本で..おろかで提供されplaybook_agent.yml、その後、含まれ得ることを、。そして、それはまさにそこにあり、そこでcommandserver-factにアクセスする必要があります。 では、完全なansible-runに有効な変数をどのように設定/保存するのでしょうか。 私はこれを見つけました:https : …

1
vars、defaults、またはtasksディレクトリで変数と定数を定義するためのAnsibleポリシーとは何ですか?
これを含む複数のドキュメントを読んで、GitHubで複数のansibleロールをチェックしましたが、変数を定義するタイミングと、変数を配置する場所(つまりdefaults、tasksまたはvarsディレクトリ)を定義するタイミングがわかりません。 変数が必要かどうか、それがどこに置くべきかを考えるのに多くの時間を費やす必要がないように、ガイドラインを受け取りたいと思います。 デフォルト sensu_host: localhost sensu_home: /etc/sensu sensu_conf_d: "{{ sensu_home }}/conf.d" タスク - name: be sure {{ item }} is installed apt: name: "{{ item }}" state: latest with_items: - build-essential - ntp または、項目を変数で定義する必要があります。 - name: be sure {{ item }} is installed apt: name: "{{ item }}" state: latest …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.