ansible的使用方法
简介:
ansible是基于python开发的自动化运维工具,可以进行批量的执行命令、系统配置、程序部署。
1、安装ansible
yum install ansible
2、查看版本
ansible --version
3、配置ansible这台机器与其他各服务器间的免密登录
#生成公钥私钥
ssh -keygen
#将公钥拷贝到其他服务器 ssh-copy-id usar@node1
4、ansible配置
vim /etc/ansible/hosts
[a] 172.0.0.1 172.0.0.2 [b] 172.0.0.3 172.0.0.4
如上将不同的服务器放在不同的组里
5、常用命令参数
-v 输出详细的执行过程
-f 并发线程数,默认是5
-m 指定使用的模块
-a 指定模块参数
-l 限制执行命令的主机
-u 指定用户来执行命令
例子:
#看a组的主机是不是都能ping通
ansible a -m ping
#看所有组的话,就用all
6、ansible-playbook是预先编写好的任务代码,以---开头的yml文件
执行方式如下:
ansible-playbook playbook.yml
7、ansible的常用模块
command
#a组主机,先进入/data目录,再查看所有文件 ansible a -m command -a "chdir=/data ls./"
shell
#a组主机输出"hello world" ansible a -m shell -a "echo 'hello world'"
copy
#将本机的/tmp目录下的aaa.jar包拷贝到b组主机的/data目录下,权限755,所属用户和所属组是app ansible b -m copy -a "src=/tmp/aaa.jar dest=/data/ mode=755 owner=app group=app"
hostname
#将172.0.0.1的主机名改成app01 ansible 172.0.0.1 -m hostname -a "name=app01"
yum
#a组主机安装jdk ansible a -m yum -a "name=jdk"
service
#a组主机重启mysql,并设置开机自启 ansible a -m service -a "name=mysql enabled=yes state=restarted"
user
#a组主机创建app用户,家目录为/home/app,设置密码为123456
ansible a -m user -a "name=app system=yes home=/home/app password=123456"