请选择 进入手机版 | 继续访问电脑版

ansible常用命令模块使用

所在版块: 容器云 2021-09-15 11:29 [复制链接] 查看: 130|回复: 0
介绍:
ansible 是python语言构建的,基于模块工作的本身没有批量部署的能力,真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架 实现了批量系统配置、批量程序部署、批量运行命令等功能
配置文件位置
/etc/ansible/hosts
ansible优势:
1、 部署简单,只需要在主控端部署Ansible环境,被控端无需任何操作
2、 默认使用ssh协议对设备进行管理
3、 主从集中化管理
4、 配置简单、功能强大、扩展性强
5、对云计算平台、大数据都有很好的支持
Ansible的安装和测试:
1、 yum install epel-release -y       #安装epel源
2、  yum install ansible -y          #安装ansible
ansible的配置:
例下图:

说明:
在ansible的配置文件中添加主机信息,即可与目标主机进行通信,配置文件在/etc/ansible/hosts,
其中 [web]、[test] 为主机组,(当然名字可以自己定义)。可以批量控制主机组里面的所有主机,
一个主机也可以添加到多个
进行批量管理首先要配置主控机与被控机之间的ssh免密码登录
  ssh-keygen         #监控端创建ssh加密算法
   ssh-copy-id root@192.168.70.1x   #把加密方案分别发给被控制的所有机器  注意发送时记得给本机也发一份!!!
ansible常用命令:
ansible web --list       #查看web组的成员,当然也可以换做test组

ansible all -m ping       #此命令可以测试控制端是否可以联通其他被控制端
远程命令command模块
例:ansible web -m command -a "free -h"      #web表示查看的组,-m使用模块 comm..表示命令调用,-a所有,free..具体命令

复制命令 copy模块
实现主控制端向目标拷贝文件 类似于scp,先在控制端上创建一个文件 la ,然后发给其他机器
例:ansible web -m copy -a "src=/root/la dest=/home/ owner=root group=root mode=744   
                      组    拷贝       源文件               目标位置    属主       属组     权限
状态查询stat模块
获取远程文件状态信息,如atime、md5、uid等
例:ansible web -m stat -a "path=/home/la"    #获取web组中/home下的la的状态信息
下载get_url模块
实现远程主机下载指定的URL到本地,支持sha256sum效验   此命令会下载内容到组里每个主机
例:ansible web -m get_url -a "url=https://www.baidu.com/ dest=/home/haha mode=644 force=yes"
                  组               url模块    url路径                 目标位置       权限      循环拉取
Yum模块
表示可以通过一台主机管理所有机组里的yum模块  
ansible web -m yum -a "name=curl state=latest"
定时cron模块
远程主机的计划任务配置   ,可以批量设置被控制机的定时任务
例:ansible web -m cron -a  'minute=* weekday=2,4,6  job="/usr/bin/wall  FBI waring" name=waringcron'
                   组    定时任务  每周246每分执行,分也可不写   内容:输出fbi警告              定时任务名
取消定时任务: ansible all -m cron -a "name=waringcron state=absent"
禁用定时任务:ansible all -m cron -a 'disabled=true job="/usr/bin/wall FBI WARNING" name=warningcron'
重新启用:       ansible all -m cron -a 'disabled=false job="/usr/bin/wall FBI WARNING" name=warningcron'
mount挂载模块
远程主机组可通过主控机器的挂载命令同时执行挂载操作
例:ansible web -m mount -a “name=/mnt/data dest=/dev/sda1 fstpe=ext4 opts=ro state=present”
service模块
远程主机管理系统服务 比如启动httpd
例:ansible web -m service -a "name=httpd state=restarted"
模块总数
ansible的模块共有2080个
列出所有模块:ansible-doc -l
查看详细文档:ansible-doc fetch
查看简要文档:ansible-doc -s fetch
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

关注时速云公众号

QQ|Archiver|小黑屋|云原生技术社区 | 时速云 ( 京ICP备14045471号 )

GMT+8, 2021-12-2 02:02 , Processed in 0.087090 second(s), 32 queries .

快速回复 返回列表