ansible常用模块
Ansible
作用?
批量部署、批量管理服务器用的
openssh
python
Ansible需要被管理主机不需要安装客户端: agentless
sshd
python
管理节点:
安装了ansible的主机,用来下发任务
被管理节点:
接收任务去执行的主机
清单:
/etc/ansible/hosts, 用来添加主机或者主机组
模块:
通过不同的模块去执行不同的任务: shell ping
任务:
ansible,一次执行一个任务,一个任务可以调用
ansible webservers -m shell -a 'ls'
playbook
ansible 主机组/主机 -m 模块的名字 -a '模块的选项' -f 10
---------------------------------------------------------------------
ansible配置文件: /etc/ansible/ansible.cfg
# 常用的参数
inventory = /etc/ansible/hosts # 定义默认清单文件
forks = 5 # 默认的并发数量
remote_port = 22 # 默认的ssh连接端口
remote_user = root # 默认ssh连接的用户
timeout = 10 # ssh连接超时时间
log_path = /var/log/ansible.log # 日志的路径
module_name = command # 默认模块
---------------------------------------------------------------------
常用模块:
ansible-doc -s 模块名 查看模块的帮助信息
ping # 检测被管理节点的通信的
shell # 执行shell命令的 && | |
command # 执行命令的
---------------------------------------------------------------------
yum # 调用yum命令,去安装一些软件
name: 软件包的名字
state:
安装:
installed
present
latest
卸载:
absent
removed
---------------------------------------------------------------------
systemd/service # 管理服务的,对服务的启动或者停止进行管理
name: # 服务的名字
state: # 具体的操作
started # 启动
stopped # 停止
restarted # 重启
reloaded # 重载
enabled: # 将服务设置为开机自启
yes
no
---------------------------------------------------------------------
file # 文件、目录的创建和删除以及文件属性(权限、属组)的管理
path: 文件或者目录的路径
state:
touch # 创建一个普通文件
directory # 创建一个目录
link
hard
---------------------------------------------------------------------
user # 管理系统用户的
name: # 要管理的用户的名字
state:
present # 创建(默认)
absent # 删除
remove # 删除用户家目录,默认为:no
password # 给用户设置密码
---------------------------------------------------------------------
copy # 复制管理节点文件到被管理节点,实现文件的批量分发
src # 管理节点文件的绝对路径
dest # 被管理节点文件存放的路径
user # 文件的属主
group # 文件的属组
mode # 文件的权限