1、节点规划
IP |
主机名 |
节点 |
192.168.11.3 |
ansible |
ansible-server节点 |
192.168.11.15 |
master |
mariadb数据库集群主节点 |
192.168.11.14 |
slave |
mariadb数据库集群从节点 |
192.168.11.8 |
mycat |
mycat中间件服务节点 |
2、Ansible节点基础环境搭建
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10 controller
192.168.11.15 master
192.168.11.14 slave
192.168.11.8 mycat
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
[centos]
name=centos
gpgcheck=0
enabled=1
baseurl=http://controller/centos
[Ansible]
name=Ansible-repo
gpgcheck=0
enabled=1
baseurl=http://controller/Ansible
[root@ansible ~]
[root@ansible ~]
[db]
master
slave
[middleware]
mycat
- master、slave、mycat节点自行修改主机名
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
[root@ansible ~]
mycat | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
master | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
slave | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
3、Ansible-playbook编写
[root@ansible read_write_separation]
[root@ansible read_write_separation]
[root@ansible read_write_separation]
[root@ansible read_write_separation]
[root@ansible read_write_separation]
[root@ansible read_write_separation]
[root@ansible read_write_separation]
hostip1: 192.168.11.15
hostip2: 192.168.11.14
hostip3: 192.168.11.8
hostname1: master
hostname2: slave
hostname3: mycat
DB_PASS: 123456
logic_library: USERDB
[root@ansible read_write_separation]
---
- hosts: all
remote_user: root
roles:
- init
- hosts: db
remote_user: root
roles:
- db
- hosts: middleware
remote_user: root
roles:
- mycat
1、roles-init
[root@ansible read_write_separation]
---
- name: copy hosts.j2 template
template:
src: hosts.j2
dest: /etc/hosts
- name