Ansibleを使用してクライアントPCに自動デプロイする機会があったため、
備忘録を兼ねて記載する。
なお、今回はAnsibleをインストールし、実際に動かしてみる。
環境セット
ホストPC
OS: Ubuntu 16.04 LTS
Ansible: 2.8.5
クライアントPC
OS: Ubuntu 16.04 LTS
GPU: NVIDIA GeForce GTX1060
Ansibleインストール
1. ホストPCのターミナルを開き、以下コマンドを入力実行する。
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt update
$ sudo apt install ansible
2. インストール確認
$ ansible --version
・ここで以下のようなものが表示されたら、インストールされています。
ansible 2.8.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/usr/.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, Aug 22 2019, 16:36:40) [GCC 5.4.0 20160609]
3. 動作確認
インストールしたら、自機でインストールされているのかを確認する。
また、ほかに動作確認をするサーバや、仮想環境がある場合は、そちらにて確認をしても大丈夫である。
$ ssh-keygen
$ cd ~/.ssh
$ ssh-copy-id [IPアドレス]
なお、ssh-copy-id
に関しては、サーバや仮想環境、また別の環境にて確認する場合、アカウント名が異なる際は以下のコマンドを使用する。
ssh-copy-id [アカウント名]@[IPアドレス]
以下コマンドを入力し、/etc/ansible/hostsの設定をする。
# sudo nano /etc/ansible/hosts
XXX.XXX.X.X
には自機のIPアドレスを指定する。
なお、localhostで確認する場合は、IPの部分をlocalhost
と記載する。
[server]
XXX.XXX.X.X
Ansibleのpingモジュールを使用して設定が通っているかを確認する。
なお、localhostを指定した場合は、IPアドレスの部分をlocalhost
と記載する。
$ ansible [自機のIPアドレス] -m ping
設定が通っている場合は、以下のような文字列が帰ってくる。pingが成功していれば、準備完了である。
XXX.XXX.×.× | SUCCESS => {
"changed": false,
"ping": "pong"
}
4. Playbookでのテスト
実際にPlaybookを使用し、テストを行う。
- hosts: servers
tasks:
- name: Test
debug: msg="Test"
以下コマンドを入力、実行しエラーが出なければ成功である。
$ ansible-playbook playbook-sample.yml