ansible简介

ansible是一款,自动化运维管理工具。顾名思义是用于批量去管理及安装服务及批量管理主机。

ansible与saltstack对比

ansible优点:配置简单,部署容易除主管理机外不需要多余配置。使用ssh进行传输管理。安全性高。语法简单,学习入门块。支持sudo。

ansible缺点:只支持分组最多265个主机。传输使用ssh,传输速度慢。

salt优点:使用zeroMQ进行传输速度快。主机数量无上限。密码容易保管,命令容易审计。

salt缺点:主进程进行守护,被管理段需要安装客户端。传输及连接不加密。配置复杂,语法相对繁琐。

ansible安装部署

1.确保机器上安装的是 Python 2.6 或者 Python 2.7 版本以上:
2.添加yum 源     a、 vim /etc/yum.repos.d/ansible     b、 添加如下内容:       [epel]       name = all source for ansible       baseurl = https://mirrors.aliyun.com/epel/7/x86_64/       enabled = 1       gpgcheck = 0       [ansible]       name = all source for ansible       baseurl = http://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/       enabled = 1       gpgcheck = 0 yum clean all 3 安装ansible:yum install ansible -y
(如使用centos7.0以上python版本会默认2.7以上,云服务yum源也不用管,可以使用yum list ansible查看是否存在ansible)

ansible安装

ansible配置文件详解

 1 [defaults]          #通用默认配置
2 inventory = /etc/ansible/hosts #被控制端IP或者DNS列表
3 library = /usr/share/my_modules/ ##默认搜寻模块的位置
4 remote_tmp = ~/.ansible/tmp #远程执行临时文件
5 local_tmp = ~/.ansible/tmp
6 plugin_filters_cfg = /etc/ansible/plugin_filters.yml
7 forks = 5 ##并行线程数
8 poll_interval = 15 ##回频率或轮询间隔时间
9 sudo_user = root ##sudo远程执行用户名
10 ask_sudo_pass = True ##使用sudo,是否需要输入密码
11 ask_pass = True ##是否需要输入密码
12 transport = smart ##通信机制
13 remote_port = 22 ##远程SSH端口
14 module_lang = C ##模块和系统之间通信的语言
15 module_set_locale = False
16 gathering = implicit ##控制默认facts收集(远程系统变量)
17 gather_subset = all
18 gather_timeout = 10
19 roles_path = /etc/ansible/roles ##使用playbook搜索Ansible roles
20 host_key_checking = False ##是否检查远程主机密钥
21 sudo_exe = sudo ##sudo远程执行命令
22 sudo_flags = -H -S -n ##传递sudo之外的参数
23 timeout = 10 ##SSH超时时间
24 remote_user = root ##远程登录用户名
25 log_path = /var/log/ansible.log ##日志文件存放路径
26 module_name = command ##Ansible命令默认执行的模块
27 executable = /bin/sh ##执行的shell环境,用户shell模块
28 hash_behaviour = replace ##特定的优先级覆盖变量
29 jinja2_extensions = jinja2.ext.do,jinja2.ext.i18 ##允许开启jinja2扩展模块
30 private_key_file = /path/to/file ##私钥文件存储位置
31 display_skipped_hosts = True ##显示跳过任何任务的状态
32 system_warnings = True ##禁用系统运行Ansible潜在问题警告
33 deprecation_warnings = True ##PlayBook输出禁用“不建议使用”警告
34 command_warnings = False ##command模块Ansible默认发出警告
35 nocolor = 1 ##输出带上颜色区别,0表示开启,1表示关闭
36 pipelining = False ##开启pipe SSH通道优化
37
38 [accelerate] ##accelerate缓存加速
39 accelerate_port = 5099 ##加速连接端口5099
40 accelerate_timeout = 30 ##命令执行超过时间,单位为s
41 accelerate_connect_timeout = 5.0 ##上一个活动连接的时间,单位为min
42 accelerate_daemon_timeout = 30 ##允许多个私钥被加载到daemon
43 accelerate_multi_key = yes ##任何客户端想要连接daemon都要开启这个选项

ansible配置文件

ansile配置文件常用配置:

1     inventory
该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表
inventory = /root/ansible/hosts 2 library
Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录
library = /usr/share/ansible 3 forks
设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。
forks = 5 4 sudo_user
这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数
sudo_user = root
//注意:新版本已经作了修改,如ansible2.4.1下已经为:
default_sudo_user = root 5 remote_port
这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的
remote_port = 22 6 host_key_checking
这是设置是否检查SSH主机的密钥。可以设置为True或False
host_key_checking = False 7 timeout
这是设置SSH连接的超时间隔,单位是秒。
timeout = 20 8 log_path
Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件
log_path = /var/log/ansible.log 另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的 9 private_key_file
默认
private_key_file=/path/to/file.pem
在使用ssh公钥私钥登录系统时候,需要修改密钥路径。
private_key_file = /root/.ssh/id_rsa 10 deprecation_warnings
#deprecation_warnings = True
注释:
以上使用的默认的,配置会提示警告信息,我们需要修改为
False,关闭警告
[DEPRECATION WARNING]: DEFAULT_SUDO_USER option, In favor of Ansible Become, which is a generic framework. See become_user. , use become instead. This feature will be
removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. deprecation_warnings = False

ansible简介安装配置的更多相关文章

  1. 01 Node.js简介, 安装&配置

    Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开 ...

  2. Hbase简介安装配置

    HBase —— Hadoop Database的简称 ,hbase 是分布式,稀疏的,持久化的,多维有序映射,它基于行键rowkey,列键column key,时间戳timestamp建立索引.它是 ...

  3. Ansible 快速安装配置,常用模块

    Ansible是一个轻量级的工具,基于python语言实现,通过python中的paramiko来连接并管理机器, 功能强大(YAML,PlayBook,模块化功能),不需要安装客户端, 通过ssh连 ...

  4. Linux系统实现ansible自动化安装配置httpd

    1.使用ansible的playbook实现自动化安装httpd 1)首先配置好ansible的hosts文件,让其对应主机能够受ansible控制 提示:我们在主机清单上配置了所管控的主机地址,但是 ...

  5. 【转】hive简介安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

  6. Linux下DHCP服务安装配置

    简介 安装配置 一.简介 DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设 ...

  7. 批量搞机(一):ansible简介、ansible安装

    一.ansible简介 Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议.其是基于Python研发,糅合了很多老运维工具的优点实现了批量 ...

  8. zookeeper工作原理、安装配置、工具命令简介

    1.Zookeeper简介 Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等等. 2.zo ...

  9. CentOS 6.7安装配置Ansible

    1.准备CentOS环境 yum update && yum upgrade 2.控制服务器与被管理服务器要求 Master:Python 2.6+ Slave:Python 2.4+ ...

随机推荐

  1. Java基础系列(16)- Scanner进阶使用

    了解更多的sanner方法 Ctrl+鼠标左键,点击[Scanner] 点击Structure 看到了Scanner类下面的所有方法,以及具体方法实现的底层封装逻辑 拓展例子_nextInt()获取和 ...

  2. 看完小白也会使用,Android投屏神器scrcpy详细教程

    楔子 做为一个软件测试工程师,在使用手机测试的时候,缺陷附件想附上截图.视频,需要从手机把图片.视频发送到拷贝或发送到电脑,非常麻烦. 所以想到使用投屏软件,把手机的屏幕投屏到电脑,便可以直接在电脑上 ...

  3. git 切换分支

      # 查看git源 git  remote -v git remote set-url origin http://mingzhanghui@xx.xx.xx.xx:8090/r/ENSO/weba ...

  4. three.js 元素跟随物体效果

    需求: 1.实现元素跟随指定物体位置进行位置变化 实现方案: 1--- Sprite 精灵 2  --- cavans 画图后创建模型贴图 3 --- CSS2DRenderer渲染方式 4 --- ...

  5. NetCore5实现https请求

    前言 本文主要介绍在NetCore5中,实现证书加载和https访问请求. 证书准备 首先我们先创建一个自定义的证书Kiba518.pfx. 证书创建参考:最通俗易懂的RSA加密解密指导. 然后将证书 ...

  6. P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】

    正题 题目链接:https://www.luogu.com.cn/problem/P7295 题目大意 给出\(n*m\)的网格,每个格子上有字母,相同字母的四联通相邻格子为连通,每次询问一个子矩阵求 ...

  7. 关于Postman你必须学会的技能

    关于Postman 工欲善其事,必先利其器,在了解了接口测试之后,就要选择一款适用的工具.之所以选择postman是因为它简单.容易上手.能覆盖大多数HTTP接口测试场景,性价比极高. Postman ...

  8. Java 集合基础入门,看这篇就够了

    集合 1.父接口:Collection java.util.Collection 是进行单对象保存的最大父接口,即每次利用 Collection 接口都只能保存一个对象信息.定义如下: public ...

  9. 关于 Spring Boot 中创建对象的疑虑 → @Bean 与 @Component 同时作用同一个类,会怎么样?

    开心一刻 今天放学回家,气愤愤地找到我妈 我:妈,我们班同学都说我五官长得特别平 妈:你小时候爱趴着睡觉 我:你怎么不把我翻过来呢 妈:那你不是凌晨2点时候出生的吗 我:嗯,凌晨2点出生就爱趴着睡觉呗 ...

  10. Redis的单线程架构

    前言 在一定的策略下适度地初始化线程池的线程数有利于提高CPU的利用率,达到高效率地在同一段时间内处理多个任务,最佳的线程数量一般是 最佳线程数=(线程等待的时间与线程CPU执行时间之比+1)*CPU ...