ansible中常用的模块

本文介绍了Ansible的管理方式,包括Ad-Hoc执行和命令运行参数。重点讲解了Ansible的多个常用模块,如command、shell、copy、fetch、file等,涵盖了文件操作、系统配置和服务管理等方面。
摘要由CSDN通过智能技术生成

实验前的操作

ansible主机lee用户中做好加密(ssh-keygen),将`钥匙给受控主机的remote_user
#!/bin/bash
for host in {1..3}
do
     ssh-copy-id -i /home/lee/.ssh/id_rsa.pub lee@192.168.3.$host 
done
注意:如果脚本执行不成功,很有可能是因为受控主机里面````的.ssh文件的影响,可以提前删掉受控主机的.ssh文件(因为ssh命````令远程连接时yes后建立认证文件,后自动生成~/.ssh````/kown_hosts记录文件,而每一次的.ssh文件内容是不同的)

.sudo node{1..3} westos ALL=(ALL) NOPASSWD: ALL
在受控主机(ansible清单里的所有主机)中提前做好sudo,以超级用户的身份在主机中进行操作
#! /bin/bash
for host in {1..2}
do
     ssh root@192.168.3.$host  'sed -e “100a lee `hostname`=(ALL) NOPASSWD: ALL"  /etc/sudoers'
done

1.ansible实现管理的方式

Ad-Hoc		##利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook	##ansible脚本,主要用于大型项目场景,需要前期的规划

2.Ad-Hoc执行方式中如何获得帮助

ansible-doc	##显示模块帮助的指令
#格式
ansible-doc [参数] [模块...]
#常用参数
-l		##列出可用模块
-s		##显示指定模块的playbook片段

3.ansible命令运行方式及常用参数

#格式:
ansible	清单	-m 模块	-a 模块参数
#常用参数
#--version		##显示版本
#-m module		##指定模块,默认为command模块
#-v			    ##详细过程 -vv -vvv更详细过程
#--list			##显示主机列表,也可以用--list-hosts
#-k			    ##提示输入ssh连接密码,默认key认证
#-C			    ##预执行检测
#-T			    ##执行命令的超时时间,默认10s
#-u			    ##指定远程执行的用户
#-b			    ##执行sudo切换身份操作
#-become-user=USERNAME	##指定sudo的用户
#-K			    ##提示输入sudo密码

4.ansible的基本颜色代表值

绿色		##执行成功但为对远程主机做任何改变
黄色		##执行成功并对远程主机做改变
红色		##执行失败

5.ansible中的常用模块

1.command

查看相关模块信息 ansible-doc -s command
#功能: 在远程主机执行命令,此模块为默认模块
#常用参数
chdir		##执行命令前先进入到指定目录
cmd		    ##运行命令指定
creates		##如果文件存在将不运行
removes		##如果文件存在将运行
free_form	##在远程主机中执行的命令,此参数不需要加
#实例
ansible all -m command -a "useradd lee" -u root -k
ansible all -m command -a "userdel -r lee" -u root -k
ansible all -m command -a "chdir=/etc cat passwd " -u root -k
ansible all -m command -a "chdir=/etc creates=/etc/passwd cat passwd " -u root -k 
ansible all -m command -a "chdir=/etc removes=/etc/passwd cat passwd " -u root -k
##注意##
#Linux中的很多通配符在command模块中不支持

2.shell

#功能:
#和command功能类似
#常用参数
chdir           ##执行命令前先进入到指定目录
cmd             ##运行命令指定
creates         ##如果文件存在将不运行
removes         ##如果文件存在在将运行
free_form 	    ##在远程主机中执行的命令,此参数不需要加
executable	    ##指定执行环境,默认为sh

#实例
ansible all -m shell -a "executable=sh ps ax | grep $$ " -k


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值