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

Ansibleは、コンピューターを構成および管理するためのオープンソースソフトウェアプラットフォームです。マルチノードソフトウェアの展開、アドホックタスクの実行、および構成管理を組み合わせています。

3
スキップされたAnsibleタスクを表示しないようにするにはどうすればよいですか?
私のプレイブックの出力は常に、どのタスクがスキップされたかに関する無用な出力で一杯になります。 これがプレイブックの例です - name: Stopping Puppet Agent service: name=pe-puppet state=stopped ignore_errors: true register: result - include: rollback/restart-pe-puppet.yml when: result|failed そして、関連する出力: TASK: [name | Stopping Puppet Agent] ************************************** <server.name> REMOTE_MODULE service name=pe-puppet state=stopped changed: [server.name] => {"changed": true, "name": "pe-puppet", "state":"stopped"} TASK: [name | judge_log msg='Restarting pe-puppet'] *********************** skipping: [server.name] TASK: …
14 ansible 

5
Ansible:ホストごとに1つのタスクを実行する方法は?
プレイレベルではserial: 1、一度に1ホストずつプレイ全体を実行できるようにする必要があります。しかし、1つのタスクでこれを行う簡単な方法は見つかりませんでした。問題のタスクが(何らかの理由で)適切なロックを実行しない場合、これは特に重要です。 明らかな答えの1つは、タスクを独自に実行することです。しかし、それは役割には役立ちません。(serial: 1ロールを使用してプレイすることは、本当に直感的ではありません。)
14 ansible 

3
キーが拒否された場合にAnsibleがパスワードを使用する方法
私の新しいサーバーインスタンスは、パスワードを使用してssh経由でルートにログインするように構成されています。Ansibleプレイブックでキーを使用するように再構成し、初回実行時にパスワードでルートログインを無効にするようにしたいので、次のようなものが必要です。 キーでログインしてみてください キーでログインできない場合: パスワードでログイン authorized_keysにキーを追加します パスワードでルートログインを無効にする オプションでキーを使用して再接続します 他のタスクを行う どうすればそれを達成できますか? 編集:明確にするために、キーを追加する方法やルートを無効にする方法を尋ねているのではありません。それは単にコンテキストのためです。キーで認証できない場合にパスワードにフォールバックする方法を尋ねています。と--ask-passやansible_ssh_passセット、Ansibleも、公開鍵認証を使用しようとはしません

2
fileglobパターンでネストされたループを作成するにはどうすればよいですか?
私は、Ansibleのユーザーのセットに対して許可されたSSHキーのセットを作成しようとしています。次のようにusers変数を設定しています: users: - { username: root, name: 'root' } - { username: user, name: 'User' } 同じ役割で、files/public_keysディレクトリに承認済みキーファイルのセットもあります。承認済みキーごとに1つのファイルがあります。 roles/common/files/public_keys/home roles/common/files/public_keys/work 各公開鍵を各ユーザーにコピーしたい。 次のタスクを使用してみました。 - name: copy authorized keys authorized_key: user={{ item.0.username }} key={{ item.1 }} with_nested: - users - lookup('fileglob', 'public_keys/*') ただし、item.1にある"lookup('fileglob', 'public_keys/*')"各ファイルパスではなく、リテラル文字列が含まれますfiles/public_keys。 files/public_keysディレクトリのリストを取得し、各公開キーを各ユーザーにコピーする方法はありますか?
13 ansible 

5
多くのサーバーのSSHアクセスゲートウェイ
現在、Ansibleを介して3つのdevopを使用して、90を超える複数のサーバーを管理しています。すべてが順調に機能していますが、現在大きなセキュリティ問題があります。各devopは独自のローカルsshキーを使用して、サーバーに直接アクセスします。各devopはラップトップを使用しているため、各ラップトップが危険にさらされる可能性があるため、prodサーバーのネットワーク全体が攻撃にさらされる可能性があります。 アクセスを集中管理し、特定のキーのアクセスをブロックするソリューションを探しています。キーをbitbucketまたはgithubに追加する方法とは異なります。 私の頭の上から、ソリューションは1台のマシン、ゲートウェイから目的のprodサーバーへのトンネルになると仮定します...サーバ。その結果、ゲートウェイへのアクセスを拒否するだけで、数秒でdevopのアクセスを迅速かつ効率的に強制終了できます。 これは良いロジックですか?誰かがこの問題を阻止するための解決策をすでに見ていますか?

2
ロールで定義されたAnsibleハンドラーは、プレイブック全体またはロールの後に実行されましたか?
私はAnsible 2.0を実行していますが、これを実行することはできますが、経験的なテストでは真実ではないことを信じるようにだまされる可能性があり、ハンドラーが実行されることになっていることを知らせるドキュメントが見つかりません ハンドラーがタスクの最後に実行されない場合、これは私の難問です。5つのロールが含まれるプレイブックがあります。4つのロールのハンドラーを開始する前に完了する必要がある6つのロールを最後に追加します。 Ansibleを実行して、他の処理を行う前に完了したハンドラー(完全に完了したロール)に依存する方法はありますか、またはハンドラーを間違って使用していますか?
12 ansible 

1
Ansibleの変数に空の値を割り当てる方法は?
次の場合firewall_allowed_ports: - name: port {{ item }} allowed in firewall ufw: rule: allow port: "{{ item }}" proto: tcp with_items: - 22 - "{{ firewall_allowed_ports }}" 未定義の場合、このエラーが発生します。 fatal: [host.example.com]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. …
12 ansible 

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 : …

3
デバッグ中にAnsible Playbookを終了する最も簡単な方法
Ansibleプレイブックをデバッグしていて、特定のタスクの後に終了したい(そして、次のすべてのタスクを実行したくない)としましょう。使用可能な1行のマジックコマンドはありますか、または手動で終了/アサートタスクを作成する必要がありますか? ansible-playbookマニュアルからは、--start-at-task=START_ATフラグがあることがわかりますが、「エンドアット」のようなものは見当たりません。
12 ansible 

1
ホストの現在のホスト名をansibleで印刷するにはどうすればよいですか
ユーザーがマシンにログインするときにmotdを編集する役割を書きましたが、マシンのホスト名を出力するようにmotdをパーソナライズしたいです どの変数を使用しますか?またはこれをどのように行うのですか?テンプレート?どうやって?copy modulemotdファイルに使用しました たとえば、「$ hostnameへようこそ」と言いたいので、ansibleを使用してこのホスト名を解析するにはどうすればよいですか?


1
Jinja2テンプレートでのAnsible変数配列のループ
Ansibleがホストに関する情報を収集すると、たとえば、ホストのすべてのマウントが取得されます。 "ansible_mounts": [ { "block_available": 7800291, "block_size": 4096, "block_total": 8225358, "block_used": 425067, "device": "/dev/mapper/foobar", "fstype": "xfs", "inode_available": 16403366, "inode_total": 16458752, "inode_used": 55386, "mount": "/", "options": "rw,seclabel,relatime,attr2,inode64,noquota", "size_available": 31949991936, "size_total": 33691066368, "uuid": "2ebc82cb-5bc2-4db9-9914-33d65ba350b8" }, { "block_available": 44648, "block_size": 4096, "block_total": 127145, "block_used": 82497, "device": "/dev/sda1", "fstype": "xfs", "inode_available": 255595, "inode_total": 256000, …
12 ansible  json  jinja 

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 -------------------------------------------------- …

3
Ansible、Chef、Puppetまたは____:最も強力なWindowsサポートと最小の初期化フットプリント
私たちは主に(しかし排他的ではなく)サーバーを獲得します。 OSを起動し、コマンドを受信する準備を整えるために、OSをほとんどまたは何もしないことができます(エージェントまたはsshサーバーを含むベースイメージを作成する必要があるかもしれません)。 mongodb、javaベースのアプリ、iis configなどをインストールできる必要があります。 最も強力なウィンドウのサポート/コミュニティを備えたツール、および(可能な場合)最も軽い初期化フットプリントを備えたツールはどれですか? 運用上の回答:Powershell DSC。 これは完全な話ではありません(シェフ/人形/などのすべてを行うわけではありません)が、多くのニーズを満たし、うまく機能し、勝利8.1 / 2012-R2 / 10ですぐに使用できます。とても満足しています。

2
Cobblerのインストール後のAnsible Playbookのキックオフ
私はサーバーのデプロイを行うためにCobblerとAnsibleの実装に取り​​組んでおり、最後の1つの問題があります。私のAnsibleプレイブックはうまく機能し、Cobblerのインストールはうまく機能しますが、問題はそれらを結び付けることにあります。 使用したCobblerプロファイルに基づいてAnsibleプレイブックを開始するCobblerのポストインストールトリガーを作成しました。問題は、これが機能するにはサーバーを最初に再起動する必要があるが、Cobblerは最初の再起動の前にインストール後トリガーを実行することです。Cobblerには「firstboot」トリガーがありますが、これをまったく動作させることはできません。最初の起動後でも、トリガーされることはありません。 再起動前にAnsibleを実行しようとすると、サーバーがタイムアウトします。 これはCentOS 6.5、Ansible 1.6およびCobbler 2.4用です TLDR:Cobblerの「firstboot」トリガーを動作させる方法、またはインストール後、最初の再起動前にAnsible Playbookを正常に実行する方法。 何か案は? ありがとう!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.