AlmaLinux9.2 Ansibleのインストール手順
環境
# cat /etc/redhat-release
AlmaLinux release 9.2 (Turquoise Kodkod)
操作方法
1.ansibleをインストールする
# dnf install epel-release # dnf install ansible
2.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
3.ディレクトリファイル構成
etc/ansible/ ├── hosts ├── roles │ └── system │ └── tasks │ └── main.yml └── site.yml
4.hostsの定義
# vi /etc/ansible/hosts
以下の内容を追記する
[almalinux9-server] localhost ansible_connection=local
5.site.ymlに以下の内容を追記する
- hosts: almalinux9-server roles: - system
6.main.ymlの作成
# vi /etc/ansible/roles/system/tasks/main.yml
以下の内容を追記する
# パッケージアップデート - name: dnf upgrade yum: name=* state=latest # パッケージインストール - name: dnf install yum: name: "{{packages}}" vars: packages: - langpacks-ja - vim # ロケール事前確認 - name: check locale shell: localectl status register: check_localectl_result check_mode: no changed_when: false # ロケール設定 - name: set locale shell: localectl set-locale LANG=ja_JP.utf8 when: "'LANG=ja_JP.utf8' not in check_localectl_result.stdout" # タイムゾーン設定 - name: set timezone to Asia/Tokyo timezone: name: Asia/Tokyo # SELinux無効化 - name: disable SELinux selinux: state=disabled # firewalld無効化 - name: disable firewalld systemd: name: firewalld state: stopped enabled: false
7.playbookを実行する
# cd /etc/ansible # ansible-playbook -i hosts site.yml -D
結果
# ansible-playbook -i hosts site.yml -D [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details PLAY [almalinux9-server] ********************************************************************************************************* TASK [Gathering Facts] *********************************************************************************************************** ok: [localhost] PLAY RECAP *********************************************************************************************************************** localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
8.サーバーを再起動する
# reboot