ansible

本文详细介绍了Ansible的使用,包括有网与无网环境的部署、配置文件、主机清单的管理,以及常用命令和模块的运用,如command、shell、script、copy等。此外,还涵盖了playbook和roles的概念及应用场景。
摘要由CSDN通过智能技术生成

目录

一、ansible

1.有网环境

2.无网环境

3.配置文件

4.主机清单

 二、常用命令

 三、ansible模块

1.command ---- 远程主机执行命令

 2.shell  支持shell特性的command

3.script ---- 运行shell脚本

 4.copy ---- 复制文件到远程主机

5.fetch ---- 从主机提取文件到主控端

6.file  设置文件属性

7.unarchive ---- 解压缩

8.archive ---- 压缩

9.yum ---- 软件包管理

10.corn ---- 定时任务

11.service ---- 管理服务

12.user ---- 管理用户

13.group ---- 管理用户组

14.lineinfile ---- 替换

15.replace ---- 替换

16.setup ---- 收集主机信息

四、playbook

五、roles


一、ansible

1.有网环境

yum -y install epel-release && yum -y install ansible
ansible --version

2.无网环境

yum install epel-release --downloadonly --downloaddir=/data/ansible
yum -y install epel-release
yum install ansible --downloadonly --downloaddir=/data/ansible

yum -y install epel*.rpm && yum -y install *.rpm

3.配置文件

ANSIBLE_CFG:首先,Ansible命令会先检查环境变量,及这个环境变量将指向的配置文件
./ansible.cfg:其次,将会检查当前目录下的ansible.cfg配置文件
~/.ansible.cfg:再次,将会检查当前用户home目录下的.ansible.cfg配置文件
/etc/ansible/ansible.cfg:最后,将会检查在安装Ansible时自动生产的配置文件
配置项 说明 默认值
inventory ansible inventory文件路径 /etc/ansible/hosts
library ansible模块文件路径 /usr/share/my_modules/
remote_tmp ansible远程主机脚本临时存放目录 ~/.ansible/tmp
local_tmp ansible管理节点脚本临时存放目录 ~/.ansible/tmp
forks ansible执行并发数 5
poll_interval ansible异步任务查询间隔 15
sudo_user ansible sudo用户 root
ask_sudo_pass 运行ansible是否提示输入sudo密码 True
ask_pass 运行ansible是否提示输入密码 True
transport ansible远程传输模式 smart
remote_port 远程主机SSH端口 22
module_lang ansible模块运行默认语言环境 C
gathering facts信息收集开关定义 smart
roles_path ansible role存放路径 /etc/ansible/roles
timeout ansible SSH连接超时时间 10
remote_user ansible远程认证用户 root
log_path ansible日志记录文件 /var/log/ansible.log
module_name ansible默认执行模块 command
executable ansible命令执行shell /bin/sh
hash_behaviour ansible主机变量重复处理方式 replace
private_role_vars 默认情况下,角色中的变量将在全局变量范围中可见。 为了防止这种情况,可以启用以下选项,只有tasks的任务和handlers得任务可以看到角色变量 yes
vault_password_file 指定vault密码文件路径
ansible_managed 定义的一个Jinja2变量,可以插入到Ansible配置模版系统生成的文件中 Ansible managed
display_skipped_hosts 开启显示跳过的主机 True
error_on_undefined_vars 开启错误,或者没有定义的变量 False
action_plugins ansible action插件路径
cache_plugins ansible cache插件路径
callback_plugins ansible callback插件路径
connection_plugins ansible connection插件路径
lookup_plugins ansible lookup插件路径
inventory_plugins ansible inventory插件路径
vars_plugins ansible vars插件路径
filter_plugins ansible filter插件路径
terminal_plugins ansible terminal插件路径
strategy_plugins ansible strategy插件路径
fact_caching 定义ansible facts缓存方式 memory
fact_caching_connection 定义ansible facts缓存路径

4.主机清单

/etc/ansible/hosts

配置项 说明
ansible_ssh_host 目标主机地址
ansible_ssh_port 目标主机端口,默认22
ansible_ssh_user 目标主机用户
ansible_ssh_pass 目标主机ssh密码
ansible_sudo_pass sudo密码
ansible_sudo_exe sudo 命令路径
ansible_connection 与主机的连接类型,比如:local,ssh或者paramiko
ansible_ssh_private_key_file 私钥地址
ansible_shell_type 目标系统的shell类型
ansible_python_interpreter python版本
vi /etc/ansible/hosts

[client1]
网络地址

[client2]
网络地址 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass="xxxx"
直接显示密码不安全

[client3]
网络地址 ansible_ssh_port=22

 二、常用命令

参数 说明
host-pattern 主机或者主机组
-f FORKS 并行任务数,默认为5
-m MODULE_NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数
-a MODULE_ARGS 模块的参数
-k,--ask-pass ask for SSH password。登录密码,提示输入SSH密码而不是假设基于密钥的验证
--ask-su-pass ask for su password。su切换密码</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值