サーバのローカルのAnsibleでGCP(GCE)のCentOS 8の初期設定をした際の記録です。
個人的な検証用途なので、SELinux・firewalldは一旦止めてしまっています。
事前準備
サーバのローカルからAnsibleを実行するには事前に下記が必要です。
dnf install epel-release
dnf install ansible
ディレクトリ・ファイル構造
必要最低限のファイルのみで構成しています。
centos8-init/
├── hosts
├── roles
│ └── system
│ └── tasks
│ └── main.yml
└── site.yml
詳細
hosts
[centos8-server]
localhost ansible_connection=local
site.yaml
- hosts: centos8-server
roles:
- system
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
補足
ansible-playbook -i hosts site.yml -D
で実行します。- 実行後に
reboot
が必要です。 - dnfを実行するには
shell
等でコマンドをそのまま書く必要があるようなので、dnfではなくyumを実行するようにしています。
Ansibleでdnfコマンドを使う際の注意 - Qiita
Ansible作成時に詰まったのでメモ。2019/12/02現在の話。環境はCentOS8、ansible2.9.1#dnf moduleコマンドがサポートされていないまだサポートされていな…
コメント