Ansible-Playbook实现MysqL读写分离
所有主机的系统环境:
[root@maple-c8-n1 data]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
服务器共五台
Ansible控制端 10.0.0.8
mycat-server 10.0.0.18
MysqL-master 10.0.0.28 #Mariadb 10.3.17
MysqL-slave 10.0.0.38 #Mariadb 10.3.17
MysqL-slave 10.0.0.48
关闭SELinux和防火墙
systemctl stop firewalld
setenforce 0
1. 环境准备
[root@maple-c8-n1 ~]# mkdir -p /data/ansible/mycat_simple/roles
[root@maple-c8-n1 ~]#cd /data/ansible/mycat_simple
[root@maple-c8-n1 mycat_simple]# cp /etc/ansible/hosts .
[root@maple-c8-n1 mycat_simple]# cp /etc/ansible/ansible.cfg .
[root@maple-c8-n1 mycat_simple]# vim ansible.cfg
[defaults]
inventory = /data/ansible/mycat_simple/hosts
host_key_checking = False
[root@maple-c8-n1 mycat_simple]# vim hosts
[mycatservers]
10.0.0.18
[dbservers]
10.0.0.28
10.0.0.38
10.0.0.48
#测试
[root@maple-c8-n1 mycat_simple]# ansible mycatservers -m ping
10.0.0.18 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
[root@maple-c8-n1 mycat_simple]# ansible dbservers -m ping
10.0.0.48 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
10.0.0.38 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
10.0.0.28 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
2. playbook脚本
[root@maple-c8-n1 roles]# ansible-galaxy init mycat
- Role mycat was created successfully
[root@maple-c8-n1 roles]# ansible-galaxy init dbmaster
- Role dbmaster was created successfully
[root@maple-c8-n1 roles]# ansible-galaxy init dbslave
具体脚本:
https://github.com/ledrsnet/my-ansible-example/tree/main/mycat_simple
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。