1.1 ansible简介

1.1.1 、Ansible软件介绍:

Ansible提供一种最简单的方式用于发布、管理和编排计算机系统的工具,可在数分钟内搞定。Ansible由Python语言开发, 默认通过 SSH 协议管理机器。只要ssh连接正常被控制节点不需要安装任何工具,就可以实现远程连接执行任何操作支持多节点发布、远程任务执行。Ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能。

Ansible的工作具有等幂性,Ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。

1)幂等性不会重复执行相同的指令。例如不会重复安装软件

2)期望状态只需要告诉被监控端的期望状态

官网:http://www.ansible.com/home

官网文档:http://docs.ansible.com/ansible/index.html

Github地址:https://github.com/ansible

1.1.2 、Ansible软件特点:

  • q  不需要单独安装客户端(no agents),基于系统自带的ssh服务,sshd就相当于ansible的客户端
  • q  不需要服务端(no servers)
  • q  需要依靠大量的模块实现批量管理
  • q  配置文件/etc/ansible/ansible.cfg

1.1.3 、ansible基本结构

     ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量 运行命令等功能。Ansible所有的工作都是基于模块实现的,Ansible本身并没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供了一种框架。基本的框架及组件构成如下:

(1)、连接插件connectionplugins:负责和被监控端实现通信

(2)、hostinventory:指定操作的主机,是一个配置文件里面定义监控的主机

(3)、各种模块核心模块、command模块、自定义模块

(4)、借助于插件完成记录日志邮件等功能

(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

1.1 ansible安装

1.1.1 、安装前准备:

#本机环境

[root@m01 ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@m01 ~]# uname -r

2.6.32-696.el6.x86_64

[root@m01 ~]# uname -m

x86_64

1.1.2 、安装ansible

服务端安装软件:

#更改yum源:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

说明:ansible软件安装需要epel源

yum -y install ansible       <<-ansible软件安装

被管理端安装软件:

yum -y install libselinux-python   #libselinux是selinux安全插件,如果关闭selinux可以不装

1.1.3 、ansible基础配置

配置文件列表:

[root@m01 ~]# tree /etc/ansible/

/etc/ansible/

├── ansible.cfg      #ansible配置文件

├── hosts           #被ansible管理的主机名单(分组)

└── roles          

 directory,  files         

#目录查看:

rpm –ql ansible

/etc/ansible/  #配置文件目录

/usr/bin/   #执行文件目录

/usr/lib/pythonX.X/site-packages/ansible/   # Lib库依赖目录

/usr/share/doc/ansible-X.X.X/   # Help_doc文档目录

/usr/share/man/man1/   # Man文档目录      

#ansible帮助

ansible-doc -l

ansible-doc -s 模块名称

编辑ansible的主机配置文件hosts,添加主机组模块[web]

[root@m01 ~]# cp /etc/ansible/hosts{,.bak}  #改前做备份是个好习惯

[root@m01 ~]# tail -5 /etc/ansible/hosts

[web]

172.16.1.31

172.16.1.41

172.16.1.7

172.16.1.8

注:如果没有设置ssh密钥连接,ansible 无法正常管理模块中的服务器,解决方法如下:

172.16.1.7 ansible_ssh_user=root ansible_ssh_pass=登录密码

172.16.1.8 ansible_ssh_user=root ansible_ssh_pass=登录密码

命令说明:

ansible_ssh_user:ssh连接的用户名

ansible_ssh_pass:ssh连接的密码

ansible.cfg配置文件

[defaults]

hostfile = /etc/ansible/hosts       #主机配置文件位置

remote_user = root   #远程登录用户

private_key_file=/root/.ssh/id_rsa  #密钥存放位置

说明:测试使用不建

自动化运维工之Ansible(1)的更多相关文章

  1. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  2. 自动化运维工具之ansible

    自动化运维工具之ansible   一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

  3. 自动化运维工具:ansible

    自动化运维工具:ansible Ansible(1):简介和基本概念 Ansible(2):安装配置 Ansible(3):ansible资源清单管理 Ansible(4):常用模块

  4. Linux实战教学笔记25:自动化运维工具之ansible (一)

    第二十五节 ansible之文件的批量分发 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转 ...

  5. python自动化运维八:Ansible

    Ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控 ...

  6. Ansible自动化运维笔记2(Ansible的组件介绍)

    1.Ansible Inventory (1)静态主机文件 默认的ansible invetory是/etc/hosts文件,可以通过ANSIBLE_HOSTS环境变量或者通过运行命令的时候加上-i ...

  7. 自动化运维工具之ansible(转)

    原文链接:http://os.51cto.com/art/201409/451927_all.htm

  8. Ansible_自动化运维《Ansible之初识-1》

    1.Ansible简介 1.1 Ansible介绍 Ansible 是一个简单的自动化运维管理工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

  9. ansible自动化运维

    ansible 系统架构 ansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet.cfengin ...

随机推荐

  1. 百度谷歌雅虎三大搜索引擎比较和如何配置谷歌访问助手访问Google搜索服务

    引言: 由于近期网上盛传”百度搜索引擎已死“的消息,引发个人对于搜索引擎的思考.百度作为最大的中文搜索引擎,确实有着很大声誉,再加上本地化的优势,正成为国人们的首选,但是作为一名技术开发人员,使用搜索 ...

  2. 20155321 《网络对抗》 Exp6 信息搜集与漏洞扫描

    20155321 <网络对抗> Exp6 信息搜集与漏洞扫描 实验内容 信息搜集 whois 在kali终端输入whois 网址,查看注册的公司.服务.注册省份.传真.电话等信息 dig或 ...

  3. WPF后台线程更新UI

    0.讲点废话 最近在做一个文件搜索的小软件,当文件多时,界面会出现假死的状况,于是乎想到另外开一个后台线程,更新界面上的ListView,但是却出现我下面的问题. 1.后台线程问题 2年前写过一个软件 ...

  4. C# 获取汉字拼音首字母/全拼

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   本节探讨C#获取汉字拼音首字母的方法: 代码类东西, ...

  5. koa2 入门(1)koa-generator 脚手架和 mongoose 使用

    项目地址:https://github.com/caochangkui/demo/tree/koa2-learn 1 构建项目 1.1 安装koa-generator $ npm install -g ...

  6. python高并发和多线程的关系

    “高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程 多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现.   高并发是一种系 ...

  7. PowerBI开发 第十二篇:钻取

    钻取是指沿着层次结构(维度的层次)查看数据,钻取可以变换分析数据的粒度.钻取分为下钻(Drill-down)和上钻(Drill-up),上钻是沿着数据的维度结构向上聚合数据,在更大的粒度上查看数据的统 ...

  8. 有关ADO.NET基础中的基础的熟悉过程

    现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...

  9. Unity3D — — UGUI之简易背包

    Uinity版本:2017.3 最近在学Siki老师的<黑暗之光RPG>教程,由于教程内用的是NGUI实现,而笔者本人用的是UGUI,所以在这里稍微写一下自己的实现思路(大致上和NGUI一 ...

  10. ats 安全

    Controlling Access ats可以配置为仅允许某些客户端使用代理缓存. 1. 为ip_allow.config添加一行,以获取允许访问ats的每个IP地址或IP地址范围; 2. traf ...