Aansible(一)基础用法

本文介绍了Ansible的基础用法,包括如何设置Linux免密码登录、添加主机组,以及Ansible通过SSH进行配置管理和应用部署。文章详细阐述了Ansible命令的执行状态,并展示了不同状态的颜色标识。此外,还列举了Ansible的一些常用模块,如command、shell、script、copy、fetch、file、hostname、cron、yum、service、user和group。
摘要由CSDN通过智能技术生成

linux免密码登陆:

ssh-keygen -t rsa
ssh-copy-id -p 34539 root@192.168.30.45

添加ansible主机组:

vim /etc/ansible/hosts
[dbservers]
db01.intranet.mydomain.net
db02.intranet.mydomain.net
10.25.1.56:22
10.25.1.57:2222

# 定义多个组,把一个组当另外一个组的组员
[webserver:children]  #webserver组包括两个子组:apache nginx
apache
nginx

查看ansible所有模块及帮助文档:

ansible-doc ping
查看简易帮助
ansible-doc -s ping
默认配置文件:/etc/ansible/ansible.conf
#inventory      = /etc/ansible/hosts          主机列表配置文件
#library        = /usr/share/my_modules/      库文件存放目录
#module_utils   = /usr/share/my_module_utils/ 
#remote_tmp     = ~/.ansible/tmp              临时py命令文件存放远程主机目录
#local_tmp      = ~/.ansible/tmp              本机的命令执行目录
#plugin_filters_cfg = /etc/ansible/plugin_filters.yml 
#forks          = 5                           并发执行数
#poll_interval  = 15                          
#sudo_user      = root                        默认sudo用户
#ask_sudo_pass = True                         每次执行ansible命令是否询问ssh密码
#ask_pass      = True                         
#transport      = smart                 
#remote_port    = 22                         
#module_lang    = C                         
#module_set_locale = False

#log_path = /var/log/ansible.log               日志文件
#host_key_checking = False                    检查对应服务器的host_key,建议取消

ansible 通过SSH服务实现配置管理、应用部署、任务执行等功能,建议配置ansible端能基于秘钥认证的方式联系各个被管理节点
ansible命令简单介绍

ansible <host-pattern> [-m module_name] [-a arges] 
-- version显示版本
-m module 指定模块,默认command
-v详细 -vv -vvv
--list_host 显示主机列表,简写--list
-k --ask-pass 提示输入ssh链接密码,默认key验证
-K --ask-become-apss 提示输入sudo时的口令
-C --check 检查,并不执行
-T --timeout=TIMEOUT 执行命令的超时时间 默认10s
-u --user=REMOTE_USER 执行远程执行的用户
-b --become 代替旧版的sudo切换

host-pattern

1. all
2. 或关系:hostlist:hostlist
3. 逻辑与:'hostlist:&hostlist'
4. 逻辑非:'hostlist:!hostlist' #此处必须使用单引号

执行状态:

  1. 绿色:执行成功并且不需要做改变的操作
  2. 黄色:执行成功并且对目标主机做变更
  3. 红色:执行失败
    [colors]
    #highlight = white
    #verbose = blue
    #warn = bright purple
    #error = red
    #debug = dark gray
    #deprecate = purple
    #skip = cyan
    #unreachable = red
    #ok = green
    #changed = yellow
    #diff_add = green
    #diff_remove = red
    #diff_lines = cyan

ansible常用模块:
command:

默认模块,此命令不支持$VARNAME< > | &等,需要使用shell模块

shell:

替代command使用,ansible node -m shell -a 'echo $HOSTNAME'

script:

指定脚本在远程主机执行,ansible node -m script -a '/test.sh'

copy :

ansible node -m copy -a 'src=/xx/xxx/file1 dest=/xx/xx/file1 backup=yes mode=000 owner=xxx'
backup备份原有文件
mode修改文件属性
owner修改文件属主
content命令的内容直接在目标主机生成文件

fetch:

抓取远程节点的文件,只支持一个文件
ansible node -m fetch -a 'src=/etc/fstab dest=/data'

file:

ansible node -m file -a '[path|dest|name]=/data/xx status=[directory|file|hard|link|touch|absent(default file)] '

hostname:

ansible node -m hostname -a 'name=xxxx'

crom

创建任务
ansible node -m cron -a 'minute=(0-59, *, */2, etc) hour=( 0-23, *, */2, etc ) day=( 1-31, *, */2, etc ) month=( 1-12, *, */2, etc ) weekday=( 0-6 for Sunday-Saturday, *, etc ) job=/usr/sbin/ntpdata 10.10.10.10 naem="CRON_NAME"'
删除、禁用、启用任务
ansible node -m cron -a 'disabled=[yes|no|true|false] job=/usr/sbin/ntpdata 10.10.10.10 naem="CRON_NAME"'

yum管理包

ansible node -m yum -a 'name=SOFTWARE1,SOFTWARE2 status=[install (`present' or `installed', `latest'), or remove (`absent' or `removed'(default installed)]
安装本地rpm
ansible node -m yum -a 'name=/data/xxx.rpm disable_gpg_check=yes'
更新yum缓存
ansible node -m yum -a 'name=xxx update_cache=yes'

service管理服务

ansible node -m service -a 'name=vsftpd status=[started|stoped|restarted|reloaded] enabled=[true|false]'

user

创建账号
ansible node -m user -a 'name=nginx shell=/sbin/nologin system=yes home/xx/xx/ group=root,xx'
删除账号
ansible node -m user -a 'name=nginx state=absent remove=yes'

group

创建组
ansible node -m user -a 'name=nginx system=yes gid=80'
删除组
ansible node -m user -a 'name=nginx status=absent'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值