LVSの作成をAnsibleのPlaybookでお手軽に作成してみた。
Ansibleを動かす為の準備はこちら参照
##Playbookでやる事リスト
- SELinux無効化
項目 | 内容 |
---|---|
パッケージのインストール | libselinux-python |
selinux 無効化 | /etc/selinux/config SELINUX=disabled |
- LVSに必要な設定
項目 | 内容 |
---|---|
パッケージのインストール | ipvsadm,keepalived |
自動起動 | keepalived |
sysctl | net.ipv4.ip_forward = 1 |
##実際のPlaybook
core moduleでほとんどの事がカバー出来るので楽!!
lvs.yml
- hosts: testgrp
remote_user: vagrant
sudo: yes
tasks:
- name: Install libselinux-python
yum: name=libselinux-python state=present
- name: Permissive selinux
selinux: state=disabled
- name: reboot!
command: shutdown -r now
- name: wait for SSH port down
local_action: wait_for host={{ inventory_hostname }} port=22 state=stopped
- name: wait for SSH port up
local_action: wait_for host={{ inventory_hostname }} port=22 state=started delay=30
- name: Install ipvsadm keepalived
yum: name={{ item }} state=present
with_items:
- keepalived
- ipvsadm
- name: keepalived chkconfig on
service: name=keepalived enabled=yes
- name: ip fowarding setting
sysctl: name="net.ipv4.ip_forward" value=1 sysctl_set=yes
##デバックしてみる(Syntax Check)
####正常終了時
$ ansible-playbook lvs.yml --syntax-check
playbook: lvs.yml
####あえてエラーを出してみる
$ ansible-playbook lvs.yml --syntax-check
ERROR: Syntax Error while loading YAML script, lvs.yml
Note: The error may actually appear before this position: line 5, column 11
tasks:aaa
- name: Install ipvsadm keepalived
^
##実行
全部通ったー!
後は、こちら参考にkeepalivedのconfig入れればあっという間にLVSの出来上がり。
Ansible触り始めたばっかりだけど、手軽でとてもいい感じな気がする。