Ansible------常用命令

一般基本步骤都是安装之前,先同步时钟服务器。配置key验证

Ansible 帮助文档 https://docs.ansible.com/ansible/latest/index.html

/etc/ansible/ansible.cfg     #它配置文件

/etc/ansible/hosts          #主机控制清单

/etc/ansible/roles        #存放角色目录,是自己创建的

Ansible –doc            #帮助文档

Log_path      #日志默认关闭的,需要在配置文件里面开启一下

基于key验证配置都是在ansible这台服务器操作

ssh-keygen

ssh-copy-id  加管理的IP地址    #表示将自己的公钥复制给要管理的主机

常用模块①:command(默认模块不用写)

Ansible all –a ‘service httpd start’    #把要执行的命令放在引号里面就可以了

常用模块②:针对管道符,变量号删除文件,要用shell模块

Ansible all –m shell –a ‘ls  /data’    #查看文件

常用模块③:script模块 (执行脚本模块)

Ansible all –m script –a ‘/root/nginx.sh’    

#在所有主机上执行当前主机的脚本

常用模块③:copy模块

Ansible all –m copy –a ‘src=/root/selinux  dest=/etc/selinux  backup=yes mode=755 owner=root’

#表示把当前下的文件复制到目标服务器下,并且备份了。文件权限755,所属者root。

常用模块④:fetch模块,只支持客服端节点的文件,抓取到服务端,只支持单个文件抓取

Ansible all –m fetch –a ‘src=/var/log  dest=/root/mnt/hhh’    

#将远端的文件抓取到当前目录下dest=/root/mnt/hhh文件下。

常用模块⑤:file模块  

Ansible all –m file –a ‘path=/data/tyx  state=touch’ #表示在远程创建一个文件

Ansible all –m file –a ‘path=/data/tyx  state=absent’  #表示在远程删除一个文件

Ansible all –m file –a ‘path=/data/tyx  state=directory’  #表示在远程新建一个文件

常用模块⑥:yum模块

Ansible all –m yum –a ‘name=/root/httpd  update_cache=yes’    

#yum源安装rpm包,并且更新缓存。

常用模块⑦:service模块

Ansible all –m service –a ‘name=httpd  state=started  enable=yes’   

#启动httpd并且设置开机自启动。State=Stoped停止服务

Ansible-console    #交互控制台

root@all (3)【f:5】上面如果不指定主机就会显示all  数字3表示三个主机f:5表示最大控制数目

forks 10    #表示改成10个控制

cd tanyingxin   #表示切换到这个主机清单里面

Playbook剧本

Ansible playbook 有一些写好的脚本相应的网站:

https://galaxy.ansible.com

ansible-galaxy list     #查看下载的剧本

ansible-galaxy install geerlingguy.nginx    #下载Nginx的角色

ansible-galaxy remove geerlingguy.nginx    #卸载Nginx的角色

一般下载完成后会生成一个文件路径 注意看一下 是一个隐藏路径

如图1

Playbook用法:

核心元素:

/etc/ansible目录下创建一个以 .yml 结尾的文件

图2

 Ansible-playbook –C tan.yml      #-C表示验证我写的脚本是否错误

但是如果遇到某个服务修改了配置文件,以上面图2的方法是不会重新启动httpd的,需要与

Handlers(表示触发)和notify(表示和handlers配合)所结合。

Handlers级别跟tasks是一个级别,notify属于tasks模块下面,表示该动作做完就触发handlers。

Tags(表示标签)属于tasks模块下

演示如图3

Ansible-playbook –t 加标签名 tan.yml    #表示只执行标签内的命令,如果有多个标签用逗号隔开

Ansible-playbook –e ‘pkname=httpd’  tan.yml    #临时指定变量,yml里面没有赋值

下面图4表示文件里面指定变量赋值

Ansible-playbook   tan.yml       #因为赋值的所有可以直接推送文件

也可以先定义变量,这个模块叫vars_files,vars.yml是一个新建的文件

常用模块⑦:template模块  只能用于playbook里面写

常用于解决,比如Nginx有个自动跟随主机性能修改配比如work进程

先把anisble这台机器的Nginx原有的配置文件拷贝一份以 .j2结尾到本机

(它跟cp功能一样,只是会根据设备性能)自动修改CPU

常用模块⑧:when表示条件

常用模块⑨:item迭代机制,就是重复安装多个包,创建多个文件

Roles  (角色)这个文件夹,必须和playbook是同级别,也就是同目录

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦境悻旋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值