AlmaLinux9 Ansibleをインストールする方法
環境
AlmaLinux release 9.2 (Turquoise Kodkod)
操作方法
1.次のコマンドを使用して、システムアップデートを実行し、Epelリポジトリをインストールできます。
# sudo dnf update -y # sudo dnf install epel-release -y
次に、DNFパッケージマネージャーを使用してAnsibleをインストールします。
sudo dnf install ansible -y
インストールが完了したら、バージョンを確認して確認します。
ansible --version
2.Ansibleの最新バージョンを入手したい場合は、pip Pythonでインストールすることをお勧めします。
次のコマンドを使用して Python と pip をインストールする必要があります。
# sudo dnf update -y # sudo dnf install python3-pip -y # sudo pip3 install --upgrade pip
次に、Pythonとpipのバージョンを確認してインストールします。
# python3 -V # pip3 --version
3.この時点で、pip を使用して AlmaLinux 9 および RHEL 9 で最新バージョンの Ansible を入手できます。
# sudo pip3 install setuptools-rust wheel # sudo python3 -m pip install ansible
4.Ansibleを構成する
DNF パッケージマネージャーを使用して Ansible をインストールする場合、
デフォルトの ansible 構成ファイル ansible.cfg が /etc/ansible ディレクトリーの下に自動的に作成されます。
ただし、Pip Python を使用して Ansible をインストールする場合は、構成ファイルを手動で作成する必要があります。
プロジェクトディレクトリを作成し、以下のコマンドで切り替えます。
# mkdir ansible-project # cd ansible-project
次に、ViエディターやNanoエディターなどの目的のテキストエディターでAnsible構成ファイルを作成します。
vi ansible.cfg
次の内容を値とともにファイルに追加します。
[defaults] inventory = /home/cftadmin/ansible-project/inventory remote_user = cftadmin host_key_checking = False [privilege_escalation] become=True become_method=sudo become_user=root become_ask_pass=False
完了したら、ファイルを保存して閉じます。
Ansibleプロジェクトディレクトリの下にインベントリファイルを作成する必要があります。
# vi inventory
以下に示すように、ホストサーバーとそのIPアドレスを追加します。
[Hostserver1] 198.30.2.186 [Hostserver2] 198.30.2.187
完了したら、ファイルを保存して閉じます。
5. Ansible Remote User の SSH キーを生成する
この時点で、リモート ユーザーの SSH キーを作成し、ホスト サーバーと共有する必要があります。
これを行うには、次のコマンドを実行します。
# ssh-keygen
以下のコマンドを使用して、SSHキーをホストサーバーと共有できます。
# ssh-copy-id cftadmin@198.30.2.186 # ssh-copy-id cftadmin@198.30.2.187
次に、ホストサーバーで次のコマンドを実行して、パスワードを要求せずにすべてのコマンドを実行できます。
echo "cftadmin ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/cftadmin
6.Ansibleリモート接続を確認する
この時点で、ping モジュールを使用して、制御ノードからホストサーバへの接続を確認できます。
ansible -i inventory all -m ping
7.PlayBook を作成して Ansible をテストする
この時点で、Ansibleのサンプルプレイブックを作成し、ホストサーバーでの動作をテストする方法を紹介します。
たとえば、ansible プロジェクトディレクトリーのフォルダーの下に web.yaml ファイルを作成します。
# cd ansible-project
# vi web.yaml
NginxとPHPをインストールするファイルに次の内容を追加します。
- name: Play to Packages hosts: - Hostserver1 - Hostserver2 tasks: - name: Install php and nginx package: name: - php - nginx state: present
完了したら、ファイルを保存して閉じます。
次に、以下のコマンドでAnsibleプレイブックを実行します。
# ansible-playbook -i inventory web.yaml