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

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

5
Ansibleロールのデフォルトと変数の違いは何ですか?
新しいAnsibleロールを作成すると、テンプレートはvarsとdefaults空のmain.ymlファイルを含むディレクトリの両方を作成します。私の役割を定義するとき、これらのいずれかに変数定義を配置でき、それらは私のタスクで使用可能になります。 定義をすることの違いは何だdefaultsとはvars?何defaultsを入れるべきか、何を入れるべきvarsか?同じデータに両方を使用することは理にかなっていますか? 両者の優先順位や優先順位に違いがあることは承知していますが、どこに行けばよいのかを知りたいのですが。 私の役割がターゲットシステム上のディレクトリのリストを作成するとします。作成するデフォルトディレクトリのリストを提供しますが、ロールを使用するときにユーザーがそれらを上書きできるようにしたいと思います。 これは次のようになります。 --- - directories: - foo - bar - baz 私はどちらかにこれを置くことができるdefaults/main.ymlかでvars/main.ymlはなく、それはどこに行くべき- 、実行の観点から、それはどんな違いをしないでしょうか?
151 ansible 

7
Ansible Galaxyロールを自動的にインストールする方法は?
Ansibleのすべてのプレイブック/ロールは、私のgitリポジトリにチェックインされています。 ただし、Ansible Galaxyの役割の場合は、Ansibleを実行するすべてのマシンに1つずつ明示的にダウンロードする必要があります。 実行時に不足している役割についてAnsibleが文句を言うまで、必要なAnsible Galaxyの役割を事前に正確に把握することはさらに困難です。 Ansible Galaxyロールの依存関係を管理するにはどうすればよいですか?Ansibleの残りのコードとともにgitリポジトリにチェックインするか、新しいマシンでAnsibleを実行したときに自動的に識別されてダウンロードされるようにしたいのですが。


3
Ansibleで複数行のシェルスクリプトを実行する方法
今私はそれが複数の行にあった場合はるかに読みやすいはずのansibleでシェルスクリプトを使用しています - name: iterate user groups shell: groupmod -o -g {{ item['guid'] }} {{ item['username'] }} ....more stuff to do with_items: "{{ users }}" Ansibleシェルモジュールで複数行スクリプトを許可する方法がわからない
125 shell  ansible 

7
ansibleに存在しないディレクトリを自動作成する簡単な方法は何ですか
私のAnsibleプレイブックでは何度もそこにファイルを作成する必要があります - name: Copy file template: src: code.conf.j2 dest: "{{project_root}}/conf/code.conf" 今度confはdirがそこにありません。次に、そのディレクトリを最初に作成するためのタスクをさらに作成する必要があります。 オプションが存在しない場合にディレクトリを自動作成する簡単な方法はありますか
117 ansible 

10
Ansibleで空のファイルを作成する方法は?
Ansibleを使用して空のファイルを作成する最も簡単な方法は何ですか?空のファイルをfilesディレクトリに保存し、それをリモートホストにコピーできることはわかっていますが、それではやや不十分です。 別の方法は、リモートホスト上のファイルを操作することです。 - name: create fake 'nologin' shell file: path=/etc/nologin state=touch owner=root group=sys mode=0555 しかし、ファイルは毎回変更され、ログに黄色の線として表示されますが、これも不十分です... この単純な問題に対するより良い解決策はありますか?
115 file  ansible 


6
Ansibleインベントリファイルでhost_key_checking = falseを設定するにはどうすればよいですか?
ansible-playbook「vagrant provision」の代わりにコマンドを使用したいと思います。ただしhost_key_checking=false、hostsファイルの設定が機能していないようです。 # hosts file vagrant ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key ansible_ssh_user=vagrant ansible_ssh_port=2222 ansible_ssh_host=127.0.0.1 host_key_checking=false Vagrantfileこの値を上書きできる構成変数はありませんか?
113 ansible 

11
コマンドラインからのAnsibleプレイブックのホスト変数のオーバーライド
これは私が使用しているプレイブックの一部です(server.yml): - name: Determine Remote User hosts: web gather_facts: false roles: - { role: remote-user, tags: [remote-user, always] } 私のホストファイルには、異なるサーバーのグループがあります。 [web] x.x.x.x [droplets] x.x.x.x 今、私が実行したいansible-playbook -i hosts/<env> server.ymlと上書きhosts: webからserver.yml、この脚本を実行します[droplets]。 server.yml直接編集せずに、1回限りの変更としてオーバーライドできますか? ありがとう。

5
実行中の現在のansible-playbookへのパスを持つ変数?
実行中の現在のansible-playbookへの絶対パスを持つansible変数はありますか? いくつかのコンテキスト:localhost mysql docker を構成するためにansibleスクリプトを実行/作成していて、ansibleスクリプトに関連するデータボリュームをマウントしたいと考えています。 たとえば、リポジトリをチェックアウトしてから~/branch1/実行するansible-playbook dev.ymlと、ボリュームをに保存する必要があると思っていました~/branch1/.docker_volume/。~/branch2それから実行した場合は、ボリュームをに構成する必要があります~/branch2/.docker_volume/。
109 ansible 


22
Ansibleで新しいユーザーとパスワードを作成する
私はubuntu 12.04で新しいユーザーを作成するansibleタスクがあります。 - name: Add deployment user action: user name=deployer password=mypassword 期待どおりに完了しますが、そのユーザーとしてログインしてパスワードでsudoを実行しようとすると、常に正しくないと表示されます。何が悪いのですか?
103 bash  shell  ubuntu  ansible 

11
Ansibleで複数のファイルをコピーする
タスクでAnsibleを使用して複数のファイルをリモートノードにコピーするにはどうすればよいですか? ファイルを定義するためにタスクのコピーモジュール行を複製しようとしましたが、最初のファイルのみがコピーされます。
103 ansible 

10
Ansible:現在のターゲットホストのIPアドレスを取得します
役割で現在のホストのIPアドレスをどのように取得しますか? ホストがメンバーになっているグループとホストのホスト名のリストを取得できることは承知していますが、IPアドレスを取得するための解決策が見つかりません。 ホスト名は次を使用して取得できます {{inventory_hostname}}してグループ{{group_names}} 私はのようなものを試してみました{{ hostvars[{{ inventory_hostname }}]['ansible_ssh_host'] }} し、ip="{{ hostvars.{{ inventory_hostname }}.ansible_ssh_host }}"

7
Ansible-変数が定義されていない場合はデフォルトを使用します
私はusers自分の役割の中でLinuxの作成をカスタマイズしています。私は私の役割のカスタマイズをユーザーに許可する必要がありますhome_directory、group_name、name、password。 デフォルト値に対処するためのより柔軟な方法があるかどうか疑問に思っていました。 私は以下のコードが可能であることを知っています: - name: Create default user: name: "default_name" when: my_variable is not defined - name: Create custom user: name: "{{my_variable}}" when: my_variable is defined しかし、先ほど触れたように、オプションの変数はたくさんあり、これにより多くの可能性が生まれます。 上記のコードのようなものはありますか? user: name: "default_name", "{{my_variable}}" コードはname="default_name"、my_variableが定義されていない場合に設定する必要があります。 すべての変数をオンに設定しdefaults/main.ymlて、そのようなユーザーを作成できます。 - name: Create user user: name: "{{my_variable}}" しかし、これらの変数は非常に大きなハッシュ内にあり、そのハッシュ内にはデフォルトにできないハッシュがあります。

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