这篇文章为大家带来有关Ansible的安装配置和命令行管理模块介绍。文章不仅介绍的概念,还介绍了命令行管理模,希望大家通过这篇文章能有所收获。
Ansible简介
- <李> Ansible可以同时管理红帽系的Linux, Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。李>
- <李>
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(傀儡,cfengine,厨师,func,织物)的优点,实现了批量系统配置,批量程序部署,批量运行命令等功能.Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。主要包括:
1,连接插件连接插件:负责和被监控端实现通信;
2,主机库存:指定操作的主机,是一个配置文件里面定义监控的主机;
3,各种模块核心模块,命令模块,自定义模块;
4,借助于插件完成记录日志邮件等功能,
5,剧本:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
Ansible环境安装部署
服务器角色IP地址Ansible管理端192.168.142.120Ansible被管理端01192.168.142.121Ansible被管理端02192.168.142.122- <李>安装epel源李>
<代码类=" language-bash "> yum安装- y epel-release 代码>
- <李>安装Ansible服务李>
<代码类=" language-bash "> yum安装Ansible - y 代码>
- <李>查看Ansible版本李>
<代码类=" language-bash "> Ansible——版本代码>
- <李>安装树服务李>
<代码类=" language-bash "> yum安装树- y 代码>
- <李>树状结构展示文件夹李>
<代码类=" language-bash ">树/etc/ansible/代码>
<代码>/etc/Ansible/├──ansible。cfg,,# ansible的配置文件 ├──主机,,,,# ansible的主仓库,用于存储需要管理的远程主机的相关信息 └──角色代码>
- <李>切换Ansible工作目录下李>
<代码类=" language-bash "> cd/etc/ansible 代码>
- <李>配置主机清单李>
<代码类=" language-bash "> vim主机 (网络服务器) 192.168.142.121 (mysql) 192.168.142.122 代码>
- <李>配置密钥对验证李>
<代码类=" language-bash "> ssh - keygen rsa - t 代码>
- <李>秘钥对传送李>
<代码类=" language-bash "> ssh-copy-id root@192.168.142.121 ssh-copy-id root@192.168.142.122 代码>
Ansible命令行模块
- <李>命令模块李>
<>强命令格式:强>
<代码> Ansible[主机][- m模块)(- args) 代码>
<代码类=" language-bash "> #列出所有已安装的模块注:按问退出 ansible-doc - l # - s列出百胜模块描述信息和操作动作 ansible-doc - s百胜代码>
- <李>查看对方系统时间李>
<代码类=" language-bash "> #指定ip执行日期 ansible 192.168.142.121 - m命令——& # 39;日期# 39; #指定分类执行日期 ansible网络服务器- m命令——& # 39;日期# 39; #免交互执行日期 ansible mysql - m命令——& # 39;日期# 39; #所有主机主机执行日期命令 ansible所有- m命令——& # 39;日期# 39; #如果不加- m模块,则默认运行命令模块 ansible所有——& # 39;ls/& # 39; 代码>
- <李> cron模块李>
<代码>两种状态(状态):现在表示添加(可以省略),没有表示移除代码>
<代码类=" language-bash "> #查看cron模块信息 ansible-doc - s cron #创建计划性任务 ansible网络服务器- m cron - & # 39;分钟=?/1”;工作=?bin/echo heihei"name=安馐詂ron job" & # 39; #查看计划性任务 ansible网络服务器——& # 39;crontab - l # 39; #移除计划任务,假如该计划任务没有取名字,name=没有即可 ansible网络服务器- m cron - & # 39; name=安馐詂ron job"状态=没有# 39;,代码>
- <李>用户模块李>
<代码>用户模块是请求的是useradd, userdel, usermod三个指令代码>
<代码类=" language-bash "> #查看用户模块信息 ansible-doc - s的用户 #创建用户test01 ansible mysql - m用户——& # 39;name=皌est01" & # 39; #查看用户信息 ansible mysql - m命令——& # 39;尾/etc/passwd # 39; #删除用户test01 ansible mysql - m用户——& # 39;name=皌est01"状态=没有# 39;Ansible的安装配置和命令行管理模块介绍