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

Red Hat Ansibleは、モデル駆動型の構成管理、マルチノードの展開/オーケストレーション、およびリモートタスク実行システムです。デフォルトでSSHを使用するため、管理するノードにインストールする特別なソフトウェアはありません。AnsibleはPythonで記述されていますが、任意の言語で拡張できます。オープンソース版とエンタープライズ版があります。

7
ansibleを使用して2つのノード間でファイルをコピーする方法
マシンAからマシンBにファイルをコピーする必要がありますが、すべてのansibleタスクを実行する場所からの制御マシンはマシンC(ローカルマシン)です。 私は以下を試しました: ansibleのシェルモジュールでscpコマンドを使用する hosts: machine2 user: user2 tasks: - name: Copy file from machine1 to machine2 shell: scp user1@machine1:/path-of-file/file1 /home/user2/file1 このアプローチは続くだけで終わりません。 フェッチ&コピーモジュールを使用する hosts: machine1 user: user1 tasks: - name: copy file from machine1 to local fetch: src=/path-of-file/file1 dest=/path-of-file/file1 hosts: machine2 user: user2 tasks: - name: copy file from local to …
97 ansible 

5
Ansibleプレイブックとロール
Ansibleドキュメントによると、脚本は 次のとおりです。 ...既存の既存のシステムとは異なり、非常にシンプルな構成管理とマルチマシン展開システムの基盤であり、複雑なアプリケーションの展開に非常に適しています。 また、同じドキュメントによると、役割 は次のとおりです。 ...既知のファイル構造に基づいて特定のvars_files、タスク、およびハンドラーを自動的にロードする方法。コンテンツを役割ごとにグループ化すると、役割を他のユーザーと簡単に共有することもできます。 ただし、これらと異なる使用例の違いはすぐにはわかりません。たとえば、/etc/ansible/hostsファイルを次のように構成するとします。 [databases] mydb01.example.org mydb02.example.org [mail_servers] mymail01.example.org mymail_dr.example.org ...次に、この「[databases]」エントリは何ですか... 役割?または、どこかにプレイブックYAMLファイルの名前がありますか?または、他の何か?!? これらの違いを誰かに説明していただければ、Ansibleに対する私の理解が大幅に高まるでしょう。 Playbook vs Role vs [databases]および同様のエントリ/etc/ansible/hosts PlaybookがYAMLファイル内で定義されている場合、役割はどこに定義されていますか? ansible.cfgAnsibleサーバーでの生活以外に、利用可能なPlaybooks / RolesでAnsibleを追加/構成するにはどうすればよいですか?たとえば、を実行するとansible-playbook someplaybook.yaml、Ansibleはどのようにしてそのプレイブックの場所を知っていますか?

5
AnsibleでLinux環境変数を設定する方法
こんにちは、Ansibleで環境変数を設定する方法を見つけようとしています。 このような単純なシェルコマンド: EXPORT LC_ALL=C シェルコマンドとして試してみましたが、環境モジュールを使用してエラーが発生し、何も起こりませんでした。 私は何が欠けていますか
95 linux  ansible 

6
ansible-playbookモジュール実行のログ/詳細を取得するにはどうすればよいですか?
次のように実行するとします。 $ cat test.sh #!/bin/bash echo Hello World exit 0 $ cat Hello.yml --- - hosts: MyTestHost tasks: - name: Hello yourself script: test.sh $ ansible-playbook Hello.yml PLAY [MyTestHost] **************************************************************** GATHERING FACTS *************************************************************** ok: [MyTestHost] TASK: [Hello yourself] ******************************************************** ok: [MyTestHost] PLAY RECAP ******************************************************************** MyTestHost : ok=2 changed=0 unreachable=0 failed=0 …
95 logging  ansible 

4
Ansible:変数をファイルコンテンツに設定
ansible-playbook変数をファイルの内容に設定するためにec2モジュールを使用しています。これが私が現在やっている方法です。 ファイル名を持つVar catファイルへのシェルタスク の結果を使用catしてec2モジュールに渡します。 プレイブックの内容の例。 vars: amazon_linux_ami: "ami-fb8e9292" user_data_file: "base-ami-userdata.sh" tasks: - name: user_data_contents shell: cat {{ user_data_file }} register: user_data_action - name: launch ec2-instance local_action: ... user_data: "{{ user_data_action.stdout }}" これを行うにはもっと簡単な方法があると思いますが、Ansibleのドキュメントを検索しているときに見つけられませんでした。

8
変数の異なるセットでテンプレートモジュールを使用する方法
私のユースケースは次のとおりです: テンプレートファイルがあり、そのテンプレートから2つの異なるファイルを作成します。変数は、ファイルごとに異なる変数のセットで埋められます。 たとえば、次の行を含むファイルをテンプレート化するとします。 mkdir -p {{myTemplateVariable}} この変数を「File1」と「File2」で埋める適切な方法を見つけたいのですが。何かのようなもの : - name: template test 1 template: src=myTemplateFile dest=result1 - name: template test 2 template: src=myTemplateFile dest=result2 最初のテンプレートで使用する変数がa = "File1"で、2番目のテンプレートでb = "File2"であることを指定できます。


6
Ansible:コマンドのstdoutを新しい変数に保存しますか?
プレイブック内で、外部コマンドの出力を保持する変数を作成したいと思います。その後、いくつかのテンプレートでその変数を利用したいと思います。 プレイブックの関連部分は次のとおりです。 tasks: - name: Create variable from command command: "echo Hello" register: command_output - debug: msg="{{command_output.stdout}}" - name: Copy test service template: src=../templates/test.service.j2 dest=/tmp/test.service - name: Enable test service shell: systemctl enable /tmp/test.service - name: Start test service shell: systemctl start test.service これが私のテンプレートだとしましょう: [Unit] Description=MyApp After=docker.service Requires=docker.service [Service] TimeoutStartSec=0 …

10
Ansibleで.bashrcを調達することはできません
リモートホストにSSHで接続して、source /home/username/.bashrcすべてを正常に実行できます。しかし私がそうするなら: - name: source bashrc sudo: no action: command source /home/username/.bashrc 私は得る: failed: [hostname] => {"cmd": ["source", "/home/username/.bashrc"], "failed": true, "rc": 2} msg: [Errno 2] No such file or directory 何が間違っているのかわかりません...
85 ansible 

3
Ansible:属性でリストをフィルタリングする
Ansibleに「network」という名前の変数を登録しています。 { "addresses": { "private_ext": [ { "type": "fixed", "addr": "172.16.2.100" } ], "private_man": [ { "type": "fixed", "addr": "172.16.1.100" }, { "type": "floating", "addr": "10.90.80.10" } ] } } type = "floating"でこのようなことをしてIPアドレス( "addr")を取得することは可能ですか? - debug: var={{ network.addresses.private_man | filter type="fixed" | get "addr" }} 構文が間違っていることは知っていますが、あなたはその考えを理解しています。
83 jinja2  ansible 

3
複数のタスクを含むAnsibleハンドラーを作成するにはどうすればよいですか?
変更に応じて、実行する必要のある関連タスクが複数あります。複数のタスクを含むAnsibleハンドラーを作成するにはどうすればよいですか? たとえば、すでに開始されている場合にのみサービスを再起動するハンドラーが必要です。 - name: Restart conditionally shell: check_is_started.sh register: result - name: Restart conditionally step 2 service: name=service state=restarted when: result
81 handler  ansible 

5
ansibleを実行しているユーザーの名前を持つ変数を取得するにはどうすればよいですか?
Ansibleスクリプトを実行しているユーザーの名前(例:tlau)を取得し、そのユーザー名と現在の日時(例:tlau-deploy-2014-10)に基づいてリモートシステム上に展開ディレクトリを作成する展開プロセスのスクリプトを作成しています-15-16:52)。 これはAnsibleファクト(LOGNAMEやSUDO_USERなど)で利用できると思われるかもしれませんが、これらはすべて「root」またはリモートシステムへのsshに使用されているデプロイメントIDのいずれかに設定されています。これらのいずれにも、現在ansibleプロセスを実行しているローカルユーザーは含まれていません。 Ansibleプロセスを実行しているユーザーの名前を取得してプレイブックで使用するスクリプトを作成するにはどうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.