Ansibleの第一歩
はじめに
Ansibleを触ったことがなかったので、まずはインストールからやってみます。
インストールするのはAWS上に構築したUbuntu 16.04です。
Ansibleのインストール
公式手順通りに以下のコマンドを実行します。
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
インストール後の確認
インストールできているか確認します。
$ ansible --version
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/ubuntu/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.12 (default, Oct 8 2019, 14:14:10) [GCC 5.4.0 20160609]
動作確認の内容
以下の2点を確認したいと思います。
①自身(ローカルホスト)に対してのping応答
②ノードに対してのping応答
設定
動作確認のための設定を行います。任意のディレクトリにインベントリファイルを作成します。
node-1, node-2は自身をノードとして扱うようにするため、localhostと同じくループバックアドレスを記載します。
inventoryファイル
[localhost]
127.0.0.1 ansible_connection=local
[nodes]
node-1 ansible_host=127.0.0.1 ansible_connection=local
node-2 ansible_host=127.0.0.1 ansible_connection=local
ローカルホストに対する動作確認
まずは自身に対してpingを打つansibleコマンドを実行します。"pong"と返ってくれば成功のようです。
$ ansible localhost -i inventory -m ping -o
127.0.0.1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "deprecations":
[{"msg": "Distribution Ubuntu 16.04 on host 127.0.0.1 should use /usr/bin/python3, but is using /usr/bin/python for backward
compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this
host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information", "version":
"2.12"}], "ping": "pong"}
警告が出た
"pong"が返ってきましたが、警告が出ています。インタプリタにPython3を使うべきらしいです。現在はPythonがインタプリタに使われているようですので、インベントリファイルで指定します。
[localhost]
127.0.0.1 ansible_connection=local
127.0.0.1 ansible_python_interpreter=/usr/bin/python3
リトライ
再度pingを実行してみます。警告がなくなりました。
$ ansible localhost -i inventory -m ping -o
127.0.0.1 | SUCCESS => {"changed": false, "ping": "pong"}
ノードに対する動作確認
ノード2つに対してpingを打ってみます。警告が出ました。ノードごとのインタプリタ設定についてはわかったら更新します。
$ ansible all -i inventory -m ping -o
node-2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "deprecations":
[{"msg": "Distribution Ubuntu 16.04 on host node-2 should use /usr/bin/python3, but is using /usr/bin/python for backward
compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this
host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information", "version":
"2.12"}], "ping": "pong"}
node-1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "deprecations":
[{"msg": "Distribution Ubuntu 16.04 on host node-1 should use /usr/bin/python3, but is using /usr/bin/python for backward
compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this
host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information", "version":
"2.12"}], "ping": "pong"}
Author And Source
この問題について(Ansibleの第一歩), 我々は、より多くの情報をここで見つけました https://qiita.com/latin1/items/98212c81ba8f5e83b6ca著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .