Ansible概述
Ansible是近年来愈来愈火的一款开源运维自动化工具,通过Ansible可以运维自动化,
提供运维工程师的工作效率,减少人物失误
实验环境如下
IP 系统 (VM1)
IP 系统 (VM1)
IP 系统(VM1)
Ansible安装
进入 192.168.100.102中操作
1)通过YUM安装Ansible(联 )
#阿里云源
[root@CentOS7-02 www]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#Ansible软件默认不在yum仓库中,因此我们需要配置 epel仓库
[root@cong11 ~]# yum install -y epel-release
[root@CentOS7-02 www]#yum -y install ansible
2) 验证安装结果
[root@CentOS7-02 www]# ansible –version
3)创建SSH免密交互
Ansible需要建立密钥对验证,免交互登陆
按照我图中操作
链接:https://pan.baidu.com/s/17lrspNNUi7vPtzptjdhGiQ
提取码:x56p
脚本写好后,需要依靠特定的命令执行
ansible-playbook
syntax-check:
-C:
–list-hosts:
–list-tasks:
[root@CentOS7-02 ~]# ansible-playbook –syntax-check /etc/ansible/a.yml (测试a.yml语法)
#这样表示没有错误
[root@CentOS7-02 ~]# ansible-playbook -C /etc/ansible/a.yml
2. 触发器
需要触发才能执行的任务,当之前在tasks中的任务执行成功后,若希望在此基础上触发其他的任务,这是就需要定义handlers
例如当对目标主机的配置文件做修改后,如果任务执行成功,可以配置一个触发器,在触发器中,定义目标主机的服务重启,以使配置文件生效
handlers是Ansible提供的条件机制之一,handlers和task很类似,但是它只是在task通知时候才会触发执行
handlers只会在所有任务执行后执行,而且即使被通知多次,它也只会执行一次,handlers按照定义的顺序依次执行
例如,把web1 100.103主机的80端口改为8080端口
[root@CentOS7-02 ~]# ssh 192.168.100.103 netstat -anpt | grep 80
[root@CentOS7-02 ~]# vim /etc/ansible/httpd.yml (按我下图打,这个在我上面的百度云中也有分享)
[root@CentOS7-02 tasks]# cd /etc/
[root@CentOS7-02 etc]# chmod 777 my.cnf (默认只有读取权限)
[root@CentOS7-02 files]# cd …/handlers/
[root@CentOS7-02 handlers]# vim main.yml
[root@CentOS7-02 ansible]# ansible-playbook –syntax-check mariadb.yml
[root@CentOS7-02 ansible]# ansible-playbook -C mariadb.yml
(测试会出现蓝色,没事,只要没有红色就行)
[root@CentOS7-02 tasks]# ansible-playbook /etc/ansible/mariadb.yml
(执行,不能出现红色,其他颜色都可以,红色是 错)
验证
进入客户机1 100.103中
[root@demo1 ~]# mysql -u root
MariaDB [(none)]> show databases;
#这里有testdb数据库
验证权限
MariaDB [(none)]> show grants for ;

实验完毕 !!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!