Ansible 部署

ansible  自动化运维工具,可以实现批量管理多台(成百上千)主机,应用级别的跨主机编排工具

              特性: 无agent的存在,不要在被控制节点上安装客户端应用

                           通过ssh协议与被控制节点通信

                           基于模块工作的,通过模块可以实现在被控制节点上执行命令操作

                         很多模块具有幂等性,可实现多次操作的状态如果没有发生变化,则不会重复执行

Ansible 部署_第1张图片

(一)ansible 环境安装部署

先关闭防火墙

systemctl stop firewalld

setenforce 0

把本地源换成在线源

Ansible 部署_第2张图片

管理端  192.168.86.30      ansible

被管理端:192.168.86.40

被管理端:192.168.86.50

//管理端安装ansible 

yum install -y epel-release                   //先安装 epel 源

yum -y install ansible 

ansible --version  查看当前的版本号

rpm -qc ansible  查看他的目录在哪里

 进行免密交互

 ssh-keygen -t rsa  进行免密交互

vim /etc/ssh/ssh_config  在修改配置文件不需要密码

Ansible 部署_第3张图片

 在安装个工具 yum -y install  -y sshpass

sshpass -p '123' ssh-copy-id  [email protected]

sshpass -p '123456' ssh-copy-id  [email protected]

sshpass -p '123456' ssh-copy-id  [email protected] 

(二)ansible 命令行模块

 命令格式:ansible <组名> -m <模块> -a <参数列表>

ansible-doc -l  #列出所有已安装的模块,安q退出

 ansible-doc -s   模块  显示模块可以支持的参数

vim hosts  

这是分组的意思

也可以自定义组名

Ansible 部署_第4张图片

 ansible all -m command -a 'hostnamectl'   all 全部的意思

1. command 模块

Ansible 部署_第5张图片

 ansible lcy -m command -a ' removes=/opt/lcy.txt   rm -rf /opt/lcy.txt '      removes

2。shell 模块   可以支持管道符

 Ansible 部署_第6张图片

 3. cron 模块

Ansible 部署_第7张图片

 ansible lcy -m cron -a 'minute="30" hour="0" weekday="2,5" job="usr/bin/cp -f /var/log/messages /opt" name="lcywoaini" '   

添加

 ansible lcy -m cron -a 'name="lcywoaini" state=absent '  移除

4  .user 模块

Ansible 部署_第8张图片

 ansible lcy -m user -a ' name="test01" '    创建用户

ansible lcy -m user -a ' name="test01"  state=absent'   删除用户

5.group 模块

Ansible 部署_第9张图片

 6.copy 模块

Ansible 部署_第10张图片

  ansible lcy -m copy -a 'src=/opt/456.txt dest=/opt/lili.txt mode=777' 

7.file 模块

你可能感兴趣的:(ansible)