ansibleでRHEL8の初期セットアップ~テストコードを添えて~
どうも2人目です。
最近AWS上にRed Hat Enterprise Linux 8のサーバを立てる機会がありましたので備忘として残そうと思います。
特にAnsibleを使う方の参考になれば幸いです。
最近はテスト駆動の考え方も流行ってきているので、テストコードも書いておきます。
前提
環境:AWS(EC2)
OS:Red Hat Enterprise Linux 8
構成管理ツール:Ansible
テストツール:ServerSpec
TimeZone(jst)対応
日本語のOSを選択すれば問題ないと思いますが、念のため設定しておくことをおススメします。
Playbook
- name: set timezone to Asia/Tokyo
timezone:
name: Asia/Tokyo
テストコード
describe command('date') do
it { should return_stdout /JST/ }
end
IPv6無効化
IPv6は使わないのであれば無効化しておきましょう。
Playbook
- name: "set ipv6 disable"
sysctl:
name: net.ipv6.conf.all.disable_ipv6
value: '1'
sysctl_set: yes
テストコード
describe command('ip a') do
its(:stdout) { is_expected.to_not match(/inet6/) }
end
SELinux 無効化
デフォだとSELinuxは有効ですが、何かと接続確認などで悪さをするので必要なければ無効化しましょう。
Playbook
- name: Disable selinux
selinux: state=disabled
テストコード
describe file('/etc/selinux/config') do
it { should exist }
its(:content) { should match 'SELINUX=disabled' }
end
net-tools インストール
デフォだとインストールされていません。とりあえずifconfigを使いたい場合は、最初に使えるようにしておきましょう。
Playbook
- name: "install bind-utils"
yum:
name: bind-utils
テストコード
describe package('net-tools') do
it { is_expected.to be_installed }
end
describe command('which nslookup') do
its(:stdout) { is_expected.to match %r{/usr/bin/nslookup} }
end
この記事が気に入ったらサポートをしてみませんか?