質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

1回答

111閲覧

Anssibleのansible-playbook コマンドで「name: install httpd」を成功させたい

falifa

総合スコア8

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2024/10/09 04:55

実現したいこと

Amazon linux2を2台利用し、1台コントロールノード、1台はターゲットノードです。
Webサーバを構築するPlayBookを作成したのでansible-playbookコマンドを成功させたいです。

発生している問題・分からないこと

ansible-playbook実行時の結果、「skipping: no hosts matched」が出力され、解決できずにいます。PlayBookのホスト宣言の行とインベントリの中身が一致していないことが原因という記事をみたのですがどう修正すればよいのか分からずにいます。
インベントリファイル、PlayBookの内容の他に修正の必要があるファイルに検討つくようでしたら合わせてご指摘お願いします。

インベントリファイルの中身は以下です。

[root@test1 tasks]# cat /etc/ansible/inventory_file [web] node-1 ansible_host=プライベートIP ansible_user=root ansible_password=パスワード [test:vars] node-1 [root@test1 tasks]#

続いて、
PlayBook の中身は以下です。

[root@test1 tasks]# cat /etc/ansible/roles/common/tasks/main.yml --- - name: deploy httpd server hosts: node-1 tasks: - name: install httpd dnf: name: httpd state: latest - name: start & enabled httpd service: name: httpd state: started enabled: yes [root@test1 tasks]#

以下、チェックコマンドと実行結果です。

[root@test1 tasks]# ansible-playbook main.yml --syntax-check [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' [WARNING]: Could not match supplied host pattern, ignoring: node-1 playbook: main.yml [root@test1 tasks]# [root@test1 tasks]# ansible-playbook main.yml [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' [WARNING]: Could not match supplied host pattern, ignoring: node-1 PLAY [deploy httpd server] ***************************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* [root@test1 tasks]#

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

メッセージの内容について調べてみると下記の記事を見つけインベントリファイルとPlayBookの内容が一致するようにしてみたのですが結果変わらずでした。。。
リンク内容

20.11. “Error: provided hosts list is empty” のトラブルシューティング

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ansible-playbookのデフォルトのインベントリファイルは /etc/ansible/hostsです。inventory_file という名前で作ってもわからないので「No inventory was parsed」というエラーになります。

また、デフォルトのインベントリファイルを使うのは一般的でなないので、playbookと同じディレクトリに作って、引数で指定するのが一般的ではないかと思います。

text

1ansible-playbook -i inventory_file main.yml

投稿2024/10/09 05:19

TakaiY

総合スコア13687

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

falifa

2024/10/09 06:12

デフォルトのインベントリファイル名は変えず、PlayBookと同じディレクトリにインベントリファイルを作成するのが一般的なのですね。勉強になりました。 おかげで解決することができました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問