[Ansible特点]

1)Ansible与saltstack均是基于Python语言开发的

2)安装使用简单,基于不同插件和模块实现各种软件,平台,版本的管理以及支持虚拟容器多层级的部署

3)不需要安装客户端,ansible基于SSH远程管理,不需要为配置工作添加额外的支持;

PS:很多认为Ansible工具执行效率慢,其原因是SSH服务慢,我们可以选择优化SSH连接速度以及Ansible加速模块

【Ansible自动化管理工具特点】

#轻量级,更新时,需要在操作机上进行一次更新即可

#采用SSH协议

#不需要去客户端安装Agent;

#批量任务执行可以写成脚本,而且不用分发到远程就可以执行

#使用python编写,维护简单,支持sudo普通用户命令,中心化管理

【Ansible工具的安装配置】

Ansible可以工作在Linux,BSD,Mac OS X等平台,对于

Red Hat、CentOS操作系统可以直接基于YUM工具自动安装Ansible,CentOS6.x或者CentOS7.x安装前,需先安装epel扩展源,

[root@master ~]# rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm   安装epel扩展源

[root@Ansible ~]# yum install -y epel-release ansible

[root@Ansible ~]# cd /etc/ansible/
[root@Ansible ansible]# ls
ansible.cfg     hosts    roles

PS:ansible.cfg为主配置文件,host文件为被管理机IP或者主机名列表;roles为角色或者插件路径,该目录为空;

Ansible远程批量管理,其中执行命令是通过Ad-Hoc来完成的,也就是点对点执行命令,能够快速的执行,而且不需要保存执行的命令,默认host文件配置主机列表,可以配置分组,可以自定义各种IP及规则

Ansible基于多模块管理,常用的Ansible工具模块包括:command,shell,script,yum,copt,File,async,docker,cron,mysql_user,ping,acl,add_host,easy_install.haproxy等等

  可使用ansible-doc -l | morec查看ansible支持的模块,也可以查看每个模块的帮助文档

【Ansible工具参数详解】

基于Ansible批量管理之前,需要被管理的服务器IP列表添加到/etc/ansible/hosts配置文件中如下定义为web服务组以及对应的IP

[webserver]
192.168.2.138
192.168.2.139

基于Ansible自动化运维工具管理客户端案列操作,由于ansible管理远程服务器基于SSH,在远程服务器执行命令时需要远程服务器的用户名和密码,也可以加入-k参数手动输入密码或者基于SSH-keygen生成免秘钥;

【主要参数如下】

-v,–verbose                                      打印详细模式;

-i PATH,–inventory=PATH                       指定host文件路径;

-f NUM,–forks=NUM                             指定fork开启同步进程的个数,默认5;

-m NAME,–module-name=NAME           指定module名称,默认模块command;

-a MODULE_ARGS                       module模块的参数或者命令;

-k,–ask-pass                           输入远程被管理端密码;

–sudo                               基于sudo用户执行;

-K,–ask-sudo-pass                      提示输入sudo密码与sudo一起使用;

-u USERNAME,–user=USERNAME         指定移动端的执行用户;

-C,–check                            测试执行过程,不改变真实内容,相当于预演;

-T TIMEOUT,                                           执行命令超时时间,默认为10秒;

--version                                                  查看Ansible软件版本信息。

 【Ansible配置文件详解】

Ansible默认配置文件为/etc/ansible/ansible.cfg,配置文件中可以对ansible进行各项参数的调整,包括并发线程,用户,模块路径,配置优化等等

[defaults]            #通用默认配置段

#inventory = /etc/ansible/hosts                 #被控端IP或者DNS列表
#library = /usr/share/my_modules/             #ansible默认搜寻模块位置
#module_utils = /usr/share/my_module_utils/        
#remote_tmp = ~/.ansible/tmp            #ansible远程执行临时文件;
#local_tmp = ~/.ansible/tmp      
#forks = 5                            #并行进程数
#poll_interval = 15               #回频率或者轮训间隔时间
#sudo_user = root               #sudo远程执行用户名
#ask_sudo_pass = True            #使用sudo,是够需要输入密码
#ask_pass = True                   #是否需要输入密码
#transport = smart                  #通信机制
#remote_port = 22                    #远程SSH端口
#module_lang = C                   #模块和系统之间通信语言
#module_set_locale = False

#gathering = implicit             #控制默认facts收集(远程系统变量)

roles_path= /etc/ansible/roles                     用于playbook搜索Ansible roles;

host_key_checking = False                             检查远程主机密钥;

#sudo_exe = sudo                                      sudo远程执行命令;

#sudo_flags = -H                                              传递sudo之外的参数;

timeout = 10                                                    SSH超时时间;

remote_user = root                                  远程登陆用户名;

log_path = /var/log/ansible.log                日志文件存放路径;

module_name = command                             Ansible命令执行默认的模块;

#executable = /bin/sh                             执行的Shell环境,用户Shell模块;

#hash_behaviour = replace                             特定的优先级覆盖变量;

#jinja2_extensions                              允许开启Jinja2拓展模块;

#private_key_file = /path/to/file             私钥文件存储位置;

#display_skipped_hosts = True                       显示任何跳过任务的状态;

#system_warnings = True                               禁用系统运行ansible潜在问题警告;

#deprecation_warnings = True                          Playbook输出禁用“不建议使用”警告;

#command_warnings = False                       command模块Ansible默认发出警告;

#nocolor = 1                                                  输出带上颜色区别,开启/关闭:0/1;

pipelining = False                                             开启pipe SSH通道优化;

[accelerate]                                                      accelerate缓存加速。

accelerate_port = 5099

accelerate_timeout = 30

accelerate_connect_timeout = 5.0

accelerate_daemon_timeout = 30

accelerate_multi_key = yes

Ansible自动化运维工具-上的更多相关文章

  1. Ansible 自动化运维工具

    Ansible 自动化运维工具 Ansible是什么? Ansible是一个"配置管理工具"也是一个"自动化运维工具" Ansible 作用: Ansible是 ...

  2. Ansible自动化运维工具及其常用模块

    Ansible自动化运维工具及其常用模块 目录 Ansible自动化运维工具及其常用模块 一.Ansible简介 1. Ansible概述 2. Ansible作用 3. Ansible的工作模块 4 ...

  3. Ansible自动化运维工具的使用

                                 Ansible自动化运维工具的使用       host lnventory 管理主机 ip  root账号密码 ssh端口 core mod ...

  4. Ansible自动化运维工具使用

    概述本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含: Centos 下的安装主机配置Ad-Hoc command(命令行执行)Playbook (任务剧本)Ansible 和 Sa ...

  5. ansible自动化运维工具使用详解

    一. ansible 简介 1. ansible ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行 ...

  6. Ansible自动化运维工具

    ansible软件介绍 python语言是运维人员必会的语言!  ansible是一个基于Python开发的自动化运维工具!(saltstack)  其功能实现基于SSH远程连接服务!  ans ...

  7. [Linux]Ansible自动化运维② - 工具与模块

    目录 一.Ansible的工具 1.1 Ansible的工作前提 1.2 Ansible的安装文件 1.3 Ansible的配置文件 1.4 Ansible的相关工具 1.4.1 [帮助工具]Ansi ...

  8. ansible自动化运维工具的安装与使用

    运行环境 centOS6.6 ansible ansible的功能还是比较多的,博主只用它在集群上进行批量部署软件和维护的功能,其他不多做研究,有需要的话这篇文章会慢慢补充. ansible特点 轻量 ...

  9. Ansible自动化运维工具安装与使用实例

    1.准备两台服务器,要确定网络是通的.服务器当然越多越好啦....Ansible的简介和好处我就不多说了,自己看百科去(*╹▽╹*) IP:192.168.139.100 IP:192.168.139 ...

随机推荐

  1. .net framework 4.5 +steeltoe+ springcloud 实现服务注册功能

    首先得先了解并熟悉一下springcloud,并手动去搭建一个服务中心,具体可度娘教程. 如果是.net core的话,实现注册也是没有问题的,网上教程很多,可自行度娘. 最难的就是基于Framewo ...

  2. CYQ.data 框架结构

    -------------------------V5.0开始(刚开始过滤版本:有些更新功能迁到V4,所以记录在V4那)-----------------------------7:Insert方法增 ...

  3. webpack4: compilation.mainTemplate.applyPluginsWaterfall is not a function 解决方法

    今天捣鼓webpack4踩到一个弥天大坑:使用html-webpack-plugin打包html的时候一直报 compilation.mainTemplate.applyPluginsWaterfal ...

  4. Java中String字符串常量池总结

    最近到广州某建站互联网公司面试,当时面试官问假设有两个字符串String a="abc",String b = "abc";问输出a==b是true还是fals ...

  5. SpringMVC中的适配器(适配者模式)

    此处采用了适配器模式, 由于Controller的类型不同,有多重实现方式,那么调用方式就不是确定的,如果需要直接调用Controller方法,需要在代码中写成如下形式: if(mappedHandl ...

  6. 原生js移动端滑动事件

    移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件 ...

  7. WP Super Cache+七牛云配置CDN加速,让你的网站秒开

    CDN加速网站是几乎所有的站长都在考虑的问题,CDN,全称是Content Delivery Network,即内容分发网络.所谓CDN加速,通俗的来说就是把原服务器上数据复制到其他服务器上,用户访问 ...

  8. 一场IPFS引领下的共享之风正在走向区块链

    中国互联网的高速发展 已经接近10年,小编完整的经历这个过程.这一切我们从一个小网站 饭否 说起... 互联网 2006年3月16:Twitter上线 2007年5月12:  饭否上线 饭否是中国第一 ...

  9. AngularJS - 常用方法汇总

    1. 数组元素的常用方法: http://www.cnblogs.com/diaosizhang/p/3729078.html 2. js的强大的splice方法  http://www.jb51.n ...

  10. MySQL基本语句与经典习题

    [SQL语句大全] 本文用到的数据(5张表): customers: orders: orderitems: Products:  Vendors: 一.检索数据-select语句select pro ...