呼び方
Ansible Documentation では Ansible を実行している機器を Control Machine 、Control Machine に管理される機器を Managed Node と記述しています。 Control Machine 、Managed Node では呼びにくいので、それぞれ「管理サーバー」、「対象ホスト」と呼ぶことにします。ToDo
minimal インストールした CentOS 7.6.1810 に以下の作業を行って管理サーバーにします。- staff グループ(gid : 10000)を作成する
- staff グループに属するユーザーアカウント ansibleman(uid : 10001) を作成する
- ansibleman のパスワードを password@ansiblman にする
- ansibleman はパスワードの入力なしに sudo を可能にする
- 管理サーバーから対象ホストに初めて ssh 接続するとき "Are you sure you want to continue connecting (yes/no)?" を聞かれないようにする
- ssh 接続した対象ホストの公開鍵のフィンガープリントを ~/.ssh/known_hosts ファイルに記録しない
- Ansible の playbook ファイルや inventory ファイルを置くディレクトリ ansible を作成
- EPEL リポジトリをインストールする
- Ansible をインストールする
投入コマンド
CentOS のインストール直後なので、root アカウントで一般ユーザーのアカウント作成から行います。- groupadd -g 10000 staff
- useradd -G staff -u 10001 ansibleman
- passwd ansibleman
- password@ansibleman
- visudo -f /etc/sudoers.d/ansibleman
- ansibleman ALL=(ALL:ALL) NOPASSWD: ALL
- mkdir ~/.ssh
- chmod 700 ~/.ssh
- vi ~/.ssh/config
- Host *
- StrictHostKeyChecking no
- UserKnownHostsFile=/dev/null
- chmod 600 ~/.ssh/config
- mkdir ~/ansible
- sudo yum -y install epel-release
- sudo yum -y install ansible
- ansible --version
作業ログ
root アカウントの作業ログです。単純なパスワード(password@ansibleman)を設定したため、警告が表示されています。[root@ansiblesv ~]# groupadd -g 10000 staff
[root@ansiblesv ~]# useradd -G staff -u 10001 ansibleman
[root@ansiblesv ~]# passwd ansibleman
Changing password for user ansibleman.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ansiblesv ~]# visudo -f /etc/sudoers.d/ansibleman
-- INSERT --
ansibleman ALL=(ALL:ALL) NOPASSWD: ALL
[root@ansiblesv ~]# logout[root@ansiblesv ~]# groupadd -g 10000 staff
[root@ansiblesv ~]# useradd -G staff -u 10001 ansibleman
[root@ansiblesv ~]# passwd ansibleman
Changing password for user ansibleman.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ansiblesv ~]# visudo -f /etc/sudoers.d/ansibleman
-- INSERT --
ansibleman ALL=(ALL:ALL) NOPASSWD: ALL
[root@ansiblesv ~]# logout
アカウント ansibleman の作業ログです。実行日である 2019/02/26 には Ansible 2.7.8 がインストールされました。[ansibleman@ansiblesv ~]$ mkdir ~/.ssh
[ansibleman@ansiblesv ~]$ chmod 700 ~/.ssh
[ansibleman@ansiblesv ~]$ vi ~/.ssh/config
-- INSERT --
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
[ansibleman@ansiblesv ~]$ chmod 600 ~/.ssh/config
[ansibleman@ansiblesv ~]$ mkdir ~/ansible
[ansibleman@ansiblesv ~]$ sudo yum -y install epel-release
Loaded plugins: fastestmirror
(中略)
Complete!
[ansibleman@ansiblesv ~]$ sudo yum -y install ansible
Loaded plugins: fastestmirror
(中略)
Complete!
[ansibleman@ansiblesv ~]$ ansible --version
ansible 2.7.8
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/ansibleman/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
[ansibleman@ansiblesv ~]$
更新履歴
2019/02/17 Ansible 2.7.7 用に更新2019/02/26 Ansible 2.7.8 用に更新
2019/05/12 記事のタイトルを「Ansible のインストール : CentOS7.6.1810」に変更