linux ansible角色部署mysql主从
ansible主机创建角色 重新定义主机清单
[root@ansible ~]# cd /etc/ansible/
[root@ansible ansible]# ls
ansible.cfg apache.yml haproxy.yml hosts httpd.yml mysql.yml php.yml roles
[root@ansible ansible]# vim hosts
[webservers]
node1
node2
[haproxy]
node3
[mysql]
node4
node5
[mysql_master]
node4
[mysql_slave]
node5
[root@ansible roles]# ansible-galaxy init mysqlzc
- Role mysqlzc was created successfully
[root@ansible roles]# ls
apache haproxy httpd mysql mysqlzc php
[root@ansible roles]# cd mysqlzc/
[root@ansible mysqlzc]# ls
defaults files handlers meta README.md tasks templates tests vars
ansible主机配置mysqlzc角色
[root@ansible ansible]# cd roles/mysqlzc/
[root@ansible mysqlzc]# ls
defaults files handlers meta README.md tasks templates tests vars
[root@ansible mysqlzc]# vim tasks/main.yml
---
# tasks file for mysqlzc
- name: stop firewalld
service:
name: firewalld
state: stopped
enabled: no
- name: stop selinux
lineinfile:
path: /etc/selinux/config
regexp: '^SELINUX='
line: SELINUX=disabled
- name: stop selinux1
shell:
cmd: setenforce 0
- name: install mariadb
yum:
name:
- mariadb-server
- mariadb
state: present
- name: cp config
template:
src: mastermy.cnf.j2
dest: /etc/my.cnf
when: inventory_hostname in {
{ gro