RHEL 9(CentOS 9)におけるAnsibleのインストール手順

前提条件
OSバージョンを確認する

# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)

# uname -r
5.14.0-284.11.1.el9_2.x86_64

pythonバージョンを確認する

$python3 -V
Python 3.9.16

Ansibleバージョンを確認する

# ansible --version
ansible [core 2.14.2]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.11/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /bin/ansible
  python version = 3.11.2 (main, May 24 2023, 00:00:00) [GCC 11.3.1 20221121 (Red Hat 11.3.1-4)] (/usr/bin/python3.11)
  jinja version = 3.1.2
  libyaml = True

操作方法
1.Python関連パッケージのインストール
Ansibleは、Pythonパッケージ管理システムのpipを使用してインストールします。そのため、
先にPythonとpipのRPMパッケージをインストールします。

# dnf -y install python3-pip
# dnf -y install sshpass

2.Ansible用のOSユーザ作成

# useradd ansible
# passwd ansible
ユーザー ansible のパスワードを変更。
新しい パスワード:
新しい パスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

3.Ansibleをインストール
ansibleユーザのホームディレクトリにAnsibleをインストールするため、ユーザをrootからansibleへ変更します。

# su - ansible
[ansible@localhost ~]$ pwd
/home/ansible

pipを使用して、PythonパッケージとしてAnsibleをインストールします。

$ pip3 install ansible --user
略
Successfully installed MarkupSafe-2.1.3 ansible-8.4.0 ansible-core-2.15.4 cffi-1.15.1 cryptography-41.0.4 importlib-resources-5.0.7 jinja2-3.1.2 packaging-23.1 pycparser-2.21 resolvelib-1.0.1

Ansibleのバージョンが表示できれば、インストールは完了です。

$ ansible --version
ansible [core 2.15.4]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/ansible/.local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/ansible/.local/bin/ansible
  python version = 3.9.16 (main, Dec  8 2022, 00:00:00) [GCC 11.3.1 20221121 (Red Hat 11.3.1-4)] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True

4.SSH公開鍵認証の設定
ansibleOSユーザのリモートログインに公開鍵認証方式を使用するために、SSHキーペアを作成します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ansible/.ssh/id_rsa): #Enterキーを入力
Created directory '/home/ansible/.ssh'.
Enter passphrase (empty for no passphrase):                      #Enterキーを入力
Enter same passphrase again:                                     #Enterキーを入力
Your identification has been saved in /home/ansible/.ssh/id_rsa
Your public key has been saved in /home/ansible/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:1XOpXLFeZD3SaRcP8r7DfXvq8gsYVu8Pd/mVvBfa2aY ansible@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
|            . +.*|
|           . + %+|
|          . + O =|
|         . o O . |
|        S o o +  |
|         . o o.+o|
|          . . O+X|
|            .o B%|
|             +EB=|
+----[SHA256]-----+

秘密鍵ファイル(id_rsa)と公開鍵ファイル(id_rsa.pub)は、以下の場所に作成されます。

$ ls -l /home/ansible/.ssh/
合計 8
-rw-------. 1 ansible ansible 2622  9月 25 10:29 id_rsa
-rw-r--r--. 1 ansible ansible  583  9月 25 10:29 id_rsa.pub

 

Ansible

Posted by arkgame