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

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

3
ansibleコマンドの標準出力を確認する方法は?
ansible-playbookコマンドの標準出力を表示するにはどうすればよいですか?-vは、個々のコマンドではなく、ansible出力のみを表示します。すぐにこれを行う方法を理解できれば素晴らしいので、何かが失敗したりハングしたりした場合は、その理由がわかります。 例えば - name: print to stdout action: command echo "hello" 印刷します TASK: [print variable] ******************************************************** hello
165 ansible 

6
ホストごとのパスワードを使用してansibleを安全に実装するにはどうすればよいですか?
ansibleを使用して、既存のサーバーのグループを管理したいと思います。ansible_hostsファイルを作成し-K、単一のホストのみをターゲットとするコマンドで(オプションを使用して)正常にテストしました ansible -i ansible_hosts host1 --sudo -K # + commands ... 私の問題は、各ホストのユーザーパスワードが異なることですが、Ansibleでこれを処理する方法が見つかりません。 を使用すると-K、前もって単一のsudoパスワードの入力を求められるだけで、プロンプトなしで後続のすべてのホストで試行されるようです。 host1 | ... host2 | FAILED => Incorrect sudo password host3 | FAILED => Incorrect sudo password host4 | FAILED => Incorrect sudo password host5 | FAILED => Incorrect sudo password これまでの研究: StackOverflowの質問 1つの間違った答え(「を使用して-K」)と『私はパスワードなしsudoを必要と分かった』と言っ作者つの応答 Ansible docs。「パスワードなしのsudoを使用すると自動化が容易になりますが、必須ではありません」(エンファシス鉱山) このセキュリティStackExchangeの質問は、読み取りとしてNOPASSWD必要なものです …
108 security  sudo  ansible 

10
Ansible:タグが指定されている場合にのみタスクを実行します
Ansibleタグを使用して、タスク/ロールのサブセットのみを実行できます。これは、デフォルトですべてのタスクが実行され、一部のタスクのみが実行されるのを防ぐことができることを意味します。 「foo」タグが指定されている場合にのみ実行されるタスクを制限できますか?whenタスクのセクションで現在のタグを使用できますか?
75 ansible 

5
ansibleでパッケージインストールタスクを統合する方法は?
私はansibleから始めており、特にそれを使用して、いくつかのLinuxディストリビューションにパッケージをインストールします。 私はドキュメントでコマンドyumとaptコマンドが分離されていることを確認します-それらを統合して次のようなものを使用する最も簡単な方法は何ですか: - name: install the latest version of Apache unified_install: name=httpd state=latest の代わりに - name: install the latest version of Apache on CentOS yum: name=httpd state=latest when: ansible_os_family == "RedHat" - name: install the latest version of Apache on Debian apt: pkg=httpd state=latest when: ansible_os_family == "Debian" 2つのパッケージマネージャーは異なることを理解していますが、まだ一般的な基本的な使用法のセットがあります。他のオーケストレーター(たとえばsalt)には単一のインストールコマンドがあります。

2
include_tasksとimport_tasksの違いは何ですか?
Ansible 2.4では、このincludeモジュールは非推奨です。2つの置換モジュールと、その場所で、その船、import_tasksとinclude_tasks。しかし、それらは非常に類似した説明を持っています: include_tasks:現在のプレイブックで実行されるタスクのリストを含むファイルが含まれます。 import_tasks:後続の実行のために現在のプレイブックに追加されるタスクのリストをインポートします。 前者はいつ使用し、後者はいつ使用する必要がありますか?
63 ansible 

5
SSH接続のデフォルトのAnsibleユーザー名/パスワードを設定する方法は?
私はAnsibleを使用していますが、インベントリ/すべてにこの構成があります: [master] 192.168.1.10 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [slave] 192.168.1.11 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant 192.168.1.12 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [app] 192.168.1.13 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [all:children] master slave 新しいインスタンスごとにすべてのパラメーターを繰り返したくありません。それらを1か所で構成するにはどうすればよいですか?これらのパラメーターを持つファイルはありますか?
60 ansible 


16
Ansibleは事実の収集にこだわっています
私のansibleボックス(浮浪者)に奇妙な問題があります。 すべてが昨日機能し、私のプレイブックは問題なく機能しました。 今日、ansibleは「事実の収集」にかかっていますか? 詳細な出力は次のとおりです。 <5.xxx.xxx.xxx> ESTABLISH CONNECTION FOR USER: deploy <5.xxx.xxx.xxx> REMOTE_MODULE setup <5.xxx.xxx.xxx> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '- o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-s sh-%h-%p-%r', '-o', 'Port=2221', '-o', 'KbdInteractiveAuthentication=no', '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o ', 'PasswordAuthentication=no', '-o', 'User=deploy', '-o', 'ConnectTimeout=10', '5.xxx.xxx.xxx', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1411372677 .18-251130781588968 && chmod a+rx …
52 ssh  ansible 

4
Ansible:宛先ファイルが存在しない場合にのみテンプレートをコピーします
Ansible 1.6.6マシンのプロビジョニングに使用しています。 私のプレイブックには、Jinja2テンプレートから宛先ファイルを作成するテンプレートタスクがあります。 tasks: - template: src=somefile.j2 dest=/etc/somefile.conf somefile.conf既に存在する場合、置き換えたくありません。Ansibleで可能ですか?もしそうなら、どのように?
47 ansible 

6
ansibleを使用してテンプレートファイルのフォルダーを展開する
テンプレート.j2フォルダーでいっぱいのフォルダーを、各ファイルにテンプレートモジュールを使用するのではなく、テンプレートと同じ名前を使用し、拡張子.j2を使用せずにLinuxボックスに展開する簡単な方法はありますか? 現在、私は長いリストを持っています: - name: create x template template: src=files/x.conf.j2 dest=/tmp/x.conf owner=root group=root mode=0755 notify: - restart myService
47 linux  ansible 

1
Ansibleで別のホストのホスト変数にアクセスする方法は?
いくつかのデータを収集するホストがあり、それがグループにあるとしましょう[collectors]。グループにホストもいます[reporters]。groups['collectors'][0]IPアドレスからレポーターに変数を設定したいと思います。ただし、レポーターを設定するためのプレイブックは[collectors]グループで実行されないため、このホストのファクトは収集されません。IPアドレスをハードコーディングしない方法はありますか?
45 ansible 

2
AnsibleおよびVagrantからの追加のデバッグ出力を有効にするにはどうすればよいですか?
サーバーとアプリケーションのプロビジョニングのためにAnsibleを調査しています。私のアプリケーションは現在、Vagrantのシェルスクリプトでプロビジョニングされています。スクリプトを書き換えるのではなく、サンプルを取り、それを展開しようとしました。 正常に展開されているように見えますが、一連の成功したステップのように見える後、失敗メッセージが表示されています。 » vagrant provision ~/vm/blvagrant 1 ↵ [default] Running provisioner: ansible... PLAY [web-servers] ************************************************************ GATHERING FACTS *************************************************************** ok: [192.168.9.149] TASK: [install python-software-properties] ************************************ ok: [192.168.9.149] => {"changed": false, "item": ""} TASK: [add nginx ppa if it ubuntu 10.04 and up] ******************************* ok: [192.168.9.149] => {"changed": false, "item": "", "repo": …

6
Ansibleで出力を表示する
私が持っているPGBouncerためAnsibleプレイ統計から表示され、いくつかの出力がPGBouncerに組み込まれ、モジュールということを。 私の問題は、Ansibleが端末に出力を印刷すると、改行が破損することです。見る代わりに ---------- | OUTPUT | ---------- そうですか ----------\n| OUTPUT |\n---------- 誰もが出力を「きれいに印刷」するためにAnsibleを取得する方法を知っていますか?
39 ansible 

3
Ansibleセキュリティのベストプラクティス
データセンターにAnsibleを導入し、制御マシンの場所とSSHキーの管理方法に関するセキュリティのベストプラクティスを探しています。 質問1:制御マシン もちろん、制御機が必要です。制御マシンには、公開SSHキーが保存されています。攻撃者がコントロールマシンにアクセスできる場合、潜在的にデータセンター全体(またはAnsibleが管理するサーバー)にアクセスできます。それでは、データセンターに専用の制御マシンまたはリモート制御マシン(データセンターにリモート接続されたラップトップなど)を使用する方が良いでしょうか? ベストプラクティスがラップトップを使用することである場合(もちろん盗まれる可能性がありますが、公開キーをクラウドで安全に保存するか、暗号化されたポータブルデバイスでオフラインで保存できます)、Webインターフェイスを使用する必要がある場合Ansible、Ansible Tower、Semaphore、Rundeck、またはForemanのように、中央マシンからデータセンターにインストールする必要がありますか?「単一の攻撃ポイント」になるためにそれを保護し、回避する方法は? 質問2:SSHキー ルートで実行する必要のあるタスク(ソフトウェアパッケージのインストールなど)を作成するために、Ansibleを使用する必要があるとします。ベストプラクティスは、制御されたサーバーでrootユーザーを使用するのではなく、sudo権限を持つAnsibleの通常ユーザーを追加することだと思います。しかし、Ansibleがほぼすべてのタスクを実行する必要がある場合、sudoを介してすべてのコマンドにアクセスする必要があります。だから、最良の選択は何ですか: Ansibleにrootユーザーを使用させます(公開キーは ~/.ssh/authorized_keys sudoアクセスでAnsible専用の非特権ユーザーを作成します Ansibleユーザーがパスワードを指定してsudoを介してすべてのコマンドを実行できるようにする Ansibleユーザーがパスワードを指定せずにsudoを介してすべてのコマンドを実行できるようにする 他のヒントはありますか?

6
Ansibleのリストへの追加または辞書へのキーの追加
(Ansibleロールのコールバックまたはフック、および再利用可能な一連のタスクに関連): jina2テンプレート式を使用する(ab)よりも、リストに追加するか、Ansibleの辞書にキーを追加するより良い方法はありますか? 私はあなたが次のようなことができることを知っています: - name: this is a hack shell: echo "{% originalvar.append('x') %}New value of originalvar is {{originalvar}}" しかし、これを行うためのメタタスクやヘルパーは実際にはありませんか? それは壊れやすく、文書化されていないようで、Ansibleでの変数の動作に関する多くの仮定に依存しています。 私のユースケースは複数のロール(データベースサーバー拡張機能)で、それぞれが基本ロール(データベースサーバー)に何らかの構成を提供する必要があります。dbサーバーの設定ファイルに行を追加するほど簡単ではありません。各変更は同じ行に適用されます。たとえば、内線番号bdrでpg_stat_statementsあり、両方がターゲット行に表示される必要があります。 shared_preload_libaries = 'bdr, pg_stat_statements' これを行うAnsibleの方法は、現在の値を抽出して解析してから書き換える正規表現を使用して、構成ファイルを複数回(拡張子ごとに1回)処理するだけですか?もしそうなら、どのようにして複数の実行にわたってそのべき等を行いますか? 構成の解析がこれより難しく、別のコンマ区切り値を追加するほど簡単ではない場合はどうなりますか?XML構成ファイルを考えてください。
34 ansible 

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