ansible安装配置及常用命令

######################
Ansible
自动化运维工具

######################

一、ansible简述

1、客户端不用安装,不用做任何操作,是基于SSH协议来管理的

2、Ansible是基于python语言开发的自动化运维工具,2015年被红帽公司以1.5亿美金收购,工作方式为C/S架构,但客户端不用安装任何工具、插件。只要安装了openssh即可。

3、Ansible 自动化工具工作流程和原理:
Ansible运维工具是C/S架构,在Server商品安装Ansible软件程序,通过软件程序调用本地模块或插件,读取本地Hosts列表文件(记录客户端的IP列表),基于SSH协议远程连接客户端,将任务发送给客户端,让客户端执行发送的任务,最终返回执行结果。

二、ansible特点:

轻量级,
基于SSH协议
不需要去客户端安装AGENT
批量执行脚本,不用放到被控节点中
基于PYTHON编写,维护更简单
支持sudo普通用户命令
去中心化管理
服务端与客户端互不影响

三、安装配置

python 2.6以上

[root@localhost ~]#yum install epel-release
[root@localhost ~]#yum install ansible
[root@localhost ~]# rpm -qa|grep ansible
ansible-2.9.13-1.el7.noarch

配置文件
/etc/ansible/ansible-cfg

inventory	=/etc/ansible/hosts   	被控端IP列表
library		=/usr/share/my_modules	ansible模块
remote_tmp			               	定义临时缓存文件
forks	=5							并行进程数,即同时操作的被控端数
sudo_user	=root					sudo远程执行用户名
ask_sudo_pass=true					使用sudo,是否需要输入密码
system_warnings = False 
deprecation_warnings = False
command_warnings = False
nocolor=1							1为打开颜色

四、ansible使用方法

1、修改默认命令为shell

vim /etc/ansible/ansible-cfg

command_name = shell	改默认模块名称
command_warnings=False	支持警告
2、建组

hosts里加[]
[root@localhost ~]# cat /etc/ansible/hosts

[lvs]
192.168.1.10  ansible_user=admin ansible_password=123456
192.168.1.11
[mysql]
192.168.0.12
192.168.0.13
[php-fpm]
192.168.0.14
192.168.0.15

使用

[root@localhost ~]#ansible php-fpm -m command -a "mysql install -y php-fpm php php-devel"
3、常见命令

所有机器

ansible all -m command -a "df -h"

部分主机,网段

ansible 192.168.0.* -m command -a "df -h"

两台

ansible 192.168.0.10192.168.0.11 -m command -a "df -h"

五、ansible模块使用

yum模块安装

#ansible lvs -m yum -a "name=epel-release,ntp status=install" -vvvv

vvvv 显示详细过程

copy模块

#ansible php -m copy -a "src=/data/autoinstallphp.sh dest=/data/autoinstallphp.sh mode=0755"

复制,改权限,改宿主及组,备份旧文件

#ansible php -m copy -a "content='hello' dest=/tmp/aaa mode=644 owner=nginx group=nginx backup=yes"

删除文件及目录

#ansible php -m file -a "path=/tmp/212 state=absent"

synchronize模块
数据同步
只改变才会覆盖,可增量、可空目录
同步本地文件至php远程机器中

#ansible php -m synchronize -a "src=/tmp/ dest=/tmp/"

同步时,删除客户端中源端没有的文件及目录

#ansible php -m synchronize -a "src=/tmp/ dest=/tmp/ delete=yes"

另:免密设置

#################
免密钥配置
#############
ssh-keygen 全部回车
ls /-l /root/.ssh/id_rsa 钥匙,私钥
ls /-l /root/.ssh/id_rsa.pub 锁,公钥
ssh-cp-id -i /root/.ssh/id_rsa.pub 192.168.1.142
把锁给别人,自己拿钥匙解锁
#################

----------------------------------end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值