Ansible 安装 及 基础模块介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible 安装 及 基础模块介绍相关的知识,希望对你有一定的参考价值。
ansible 介绍
Ansible基于Python开发,集合了众多优秀运维工具的优点,实现了批量运行命令部署程序、配置系统等功能。默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多台主机并行管理,使得管理主机更加便捷。
ansible 安装
在管理端与 被管理端都要安装
yum install -y epel-release ##安装epel源
yum install ansible -y
ansible --version ##查看ansible版本
/etc/ansible 文件夹下
ansible.cfg ##ansible的配置文件
hosts ##ansible的主仓库,用于存储需要管理的远程主机的相关信息
roles ##角色
cd /etc/ansible
vi hosts ##配置主机清单
[aaa]
192.168.x.x ##被管理端的IP
[bbb]
192.168.x.x
ssh-keygen -t rsa ##生成秘钥
ssh-copy-id [email protected]
##配置密钥对验证
---------免交互代理--------------
ssh-agent bash
ssh-add
ansible 基础模块 及 实例
------command模块------
命令格式:ansible [主机] [-m 模块] [-a args]
ansible-doc -l ##列出所有已安装的模块 注:按q退出
ansible-doc -s yum ##-s列出yum模块描述信息和操作动作
ansible 192.168.x.x -m command -a ‘date‘ ##指定ip执行date
ansible aaa -m command -a ‘date‘ ##指定设置好的主机执行date
ansible all -m command -a ‘date‘ ##所有hosts主机执行date命令
ansible all -a ‘ls /‘ 如果不加-m模块,则默认运行command模块
-----cron模块------
两种状态(state):present表示添加(可以省略),absent表示移除。
ansible-doc -s cron ##查看cron模块信息
ansible aaa -m cron -a ‘minute="*/1" job="/bin/echo heihei" name="test cron job"‘
## 添加计划
ansible aaa -a ‘crontab -l‘ ##显示计划列表
ansible aaa -m cron -a ‘name="test cron job" state=absent‘ ##移除计划任务,假如该计划任务没有取名字,name=None即可
-----user模块------
user模块是请求的是useradd, userdel, usermod三个指令
ansible-doc -s user
ansible aaa -m user -a ‘name="test01"‘ ##创建用户test01
ansible aaa -m command -a ‘tail /etc/passwd‘ ##查看用户
ansible aaa -m user -a ‘name="test01" state=absent‘ ##删除用户test01
-----group模块-----
group模块请求的是groupadd, groupdel, groupmod 三个指令。
ansible-doc -s group
ansible aaa -m group -a ‘name=mysql gid=306 system=yes‘ ##添加组
ansible aaa -a ‘tail /etc/group‘ ##查看组
ansible aaa -m user -a ‘name=test01 uid=306 system=yes group=mysql‘ ##为用户指定组
ansible aaa -a ‘id test01‘ ##查看用户
------copy模块--------
ansible-doc -s copy
ansible aaa -m copy -a ‘src=/etc/fstab dest=/opt/fstab.back owner=root mode=640‘
## 将管理端/etc/fstab 复制到 被管理端的 /opt/fstab.bak 拥有者为root,权限设置为640
ansible aaa -a ‘ls -l /opt‘ ##查看复制情况
ansible aaa -m copy -a ‘content="hello heihei!"
dest=/opt/fstab.back‘ ##将hello heihei!写入/opt/fstab.back
ansible aaa -a ‘cat /opt/fstab.back‘ ##查看写入情况
------file模块--------
ansible-doc -s file
ansible aaa -m user -a ‘name=abc system=yes‘ ##创建用户
ansible aaa -m group -a ‘name=abc system=yes‘ ##创建组
ansible aaa -m file -a ‘owner=abc group=abc mode=644 path=/opt/fstab.back‘ ##修改文件的属主属组权限等
ansible aaa -m file -a ‘path=/opt/fstab.link src=/opt/fstab.back state=link‘ ##设置/opt/fstab.link为/opt/fstab.back的链接文件
ansible aaa -m file -a "path=/opt/fstab.back state=absent" ##删除一个文件
ansible aaa -m file -a "path=/opt/test state=touch" ##创建一个文件
ansible aaa -m file -a ‘path=/opt/temp state=directory mode=755‘ ##创建目录
-----ping模块-------
ansible all -m ping
以上是关于Ansible 安装 及 基础模块介绍的主要内容,如果未能解决你的问题,请参考以下文章