Ansible的安装使用安顿,Linux自动化运转为工人身份具之ansible

By admin in 美高梅手机版4858 on 2019年4月8日

壹、什么是自动化执行职务

美高梅手机版4858 1

美高梅手机版4858 2

ansible介绍:

Ansible是1款基于Python开发的自动化运维工具,首尽管贯彻批量系统铺排、批量主次安顿、批量周转命令、批量实施任务等等诸多功能。Ansible是一款灵活的开源工具,能够相当大程度简化运转中的配置管理与流程控制方法,它应用推送方式对客户系统加以配置,那样具有工作都可在主服务器端完毕。Asible是基于模块工作的,其自个儿并未有批量配置的能力,Ansible~一款运维自动化的软件!

Ansible(一),Ansible(

二、自动化职分履行意义

  • 升级运行工效、减弱一分工作资金
  • 增强准确度

行事特点

美高梅手机版4858 3

Ⅰ. Ansible简介

ansible是新面世的自动化运行工具,基于Python开发,集合了好多运行工具(puppet、cfengine、chef、func、fabric)的助益,落成了批量系统铺排、批量先后安顿、批量周转命令等成效。仅需在治本工作站上安装ansible程序配置被管理控制主机的IP音讯,被管理控制的主机无客户端。ansible是依据模块工作的,ansible应用程序存在于epel(第一方社区)源,正视于广大python组件。主要不外乎:

Ansible的安装使用安顿,Linux自动化运转为工人身份具之ansible。 美高梅手机版4858 4

 

运转自动化是运行发展的一定趋势,同时也是一个运营工程师完结功效最大化的必然选取。

三、自动化任务执行的选用

  • 批量下令执行
  • 定时先后任务执行
  • 批量程序应用服务安装
  • 批量布署文件同步
  • 批量代码铺排

美高梅手机版4858 5

 

办事机制

美高梅手机版4858 6

Ⅱ. Ansible特性

运维自动化的知识可以说是一望无垠如海,本文将甄选其中二个工具ansible为我们介绍一下。

1、特性

(1)、no agents:不要求在被管理控制主机上设置任何客户端;

(二)、no server:无劳动器端,使用时一向运转命令即可;

(3)、modules in any languages:基于模块工作,可选取任意语言开发模块;

(四)、yaml,not code:使用yaml语言定制剧本playbook;

(5)、ssh by default:基于SSH工作;

(陆)、strong multi-tier solution:可完结多重指挥。

2、优点

(一)、轻量级,无需在客户端安装agent,更新时,只需在操作机上海展览中心开一遍立异即可;

(贰)、批量职务履行能够写成脚本,而且不要分发到长途就足以实施;

(三)、使用python编写,维护更简短,ruby语法过于复杂;

(4)、支持sudo。

## 安装epel 源:

rpm -ivh
https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

## 安装ansible 服务端:

yum installansible -y

## ssh-keygen  生成秘钥文件:

ssh-keygen -t rsa

直接敲回车

cd/root/.ssh/ && ll ./*

美高梅手机版4858 7

## 配置ansible  的hosts 文件:

vim /etc/ansible/hosts

美高梅手机版4858 8

## 添加客户端使用ssh 方式:

1经从前曾经存在authorized_keys, 并且有其余主机的秘钥文件,
该命令会直接扩展进来。

ssh-copy-id-i /root/.ssh/id_rsa.pub 10.90.10.31

##  测试全数连接的客户端:

ansible all -a ‘who’

美高梅手机版4858 9

##测试主机:

美高梅手机版4858 10

利用ansible查看远程主机的主导音讯

ansible webservers -m setup

美高梅手机版4858 11

 

1、哪些工作索要批量配备

Ⅲ. 总体架构

美高梅手机版4858 12 

  • ansible core:ansible自个儿宗旨模块
  • host inventory:主机库,定义可管理控制的主机列表
  • connection plugins:连接插件,1般暗许基于ssh协议连接
  • modules:core modules(自带模块)、custom modules(自定义模块)
  • playbooks:剧本,遵照所设定编排的逐壹执行到位布署任务

一、操作系统的安装

Ⅳ.  Ansible安装

    1. 快速安装

Linux:

如果系统中安装了python-pip和python-devel,你可以使用pip安装ansible(假设你已经安装了开发工具包Development Tools)

$ sudo pip install ansible

Fedora/RHEL/CentOS:

可以使用系统自带的yum管理工具

$ yum -y install ansible

Debian/Ubuntu:

使用系统自带的apt管理工具

$ sudo apt-add-repository -y ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install -y ansible

 

    二. 手动分步安装

(1)、python2.7安装

# wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
# tar xvzf Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/usr/local
# make --jobs=`grep processor/proc/cpuinfo | wc -l`
# make install

## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
# cd /usr/local/include/python2.7
# cp -a ./* /usr/local/include/

(2)、setuptools模块安装

https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz
# tar xvzf setuptools-7.0.tar.gz
# cd setuptools-7.0
# python setup.py install

(3)、pycrypto模块安装

# wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
# tar xvzf pycrypto-2.6.1.tar.gz
# cd pycrypto-2.6.1
# python setup.py install

(4)、PyYAML模块安装

http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
# tar xvzf yaml-0.1.5.tar.gz
# cd yaml-0.1.5
# ./configure --prefix=/usr/local
# make --jobs=`grep processor/proc/cpuinfo | wc -l`
# make install

https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
# tar xvzf PyYAML-3.11.tar.gz
# cd PyYAML-3.11
# python setup.py install

 

(5)、Jinja2模块安装

https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
# tar xvzf MarkupSafe-0.9.3.tar.gz
# cd MarkupSafe-0.9.3
# python setup.py install

https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
# tar xvzf Jinja2-2.7.3.tar.gz
# cd Jinja2-2.7.3
# python setup.py install

   (陆)、paramiko模块安装

https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
# tar xvzf ecdsa-0.11.tar.gz
# cd ecdsa-0.11
# python setup.py install

https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
# tar xvzf paramiko-1.15.1.tar.gz
# cd paramiko-1.15.1
# python setup.py install

   (柒)、simplejson模块安装

https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
# tar xvzf simplejson-3.6.5.tar.gz
# cd simplejson-3.6.5
# python setup.py install

   (8)、ansible安装

https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
# tar xvzf ansible-1.7.2.tar.gz
# cd ansible-1.7.2
# python setup.py install

# 查看ansible版本
# ansible --version
ansible 2.3.1.0
  config file = 
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

 

 

Ⅰ. Ansible简介
ansible是新面世的自动化运营工具,基于Python开发,集合了无数运转为工人身份具(puppet、cfengine、chef、func、fabric)…

大面积的有collber,red hat satelite(redhat)系统专用。

二、操作系统的铺排

左近的有cfengine,puppet,chef,func。当中puppet最受欢迎

叁、批量顺序的布局

4、批量指令的周转查看景况音信

二、ansible介绍

ansible的架构大致如下

美高梅手机版4858 13

ansible是新面世的运营工具是依照Python研究开发的滥竽充数了过多资深运转为工人身份具的帮助和益处实现了批量操作系统配置、批量主次的安插、批量周转命令等功能。

运维工具常见的工作模式  1、agent模式: 基于ssl实现。代理工作在被监控端。像puppet。  2、agentless模式: 基于ssh服务实现工作在被监控端。监控端是ssh的客户端。  

ansible是干活在agentless形式下有所幂等性。ansible在决定端只须求告诉监察和控制端的只求状态就足以兑现批量布署。

名词解释  幂等性不会重复执行相同的指令。例如不会重复安装软件  期望状态只需要告诉被监控端的期望状态  

美高梅手机版4858,ansible是依据模块工作的ansible本人并未有批量配置的能力。真正具有批量配备的是ansible所运转的模块ansible只是提供一种框架。架构包括

三番五次插件connection plugins负责和被监察和控制端完成通信。

Host Inventory:钦点操作的主机,是叁个布署文件之中定义监察和控制的主机

各类模块大旨模块command模块自定义模块

借助于插件实现记录日志邮件等效果

PlayBooks:剧本执行五个职责时。并非必需能够让节点2遍性运维多个任务

三、ansible的核心使用

一、安装软件

yum install ansible -y # 对应的软件在 epel 仓库中也可自己手动编译  #源码地址 https://pypi.python.org/packages/source/a/ansible/ansible-1.5.tar.gz   

美高梅手机版4858 14

2、定义Host Inventory

# vim /etc/ansible/hosts  [webhosts]  172.16.10.22 ansible_ssh_user=root ansible_ssh_pass=guoting  172.16.10.33 ansible_ssh_user=root ansible_ssh_pass=guoting  

解释

#ansible_ssh_user=root 是ssh登六用户

#ansible_ssh_pass=guoting 是ssh登6密码3、测试各类模块

# 注意每一个模块的用法能够动用 ansible-doc MOD 来查阅例如ansible-doc copy

ansible命令最常用的用法

ansible <Host-partten> -m MOE -a
‘MOD_A宝马X5V’所协助的模块能够利用ansible-doc -l来查看

四、ansible示例

一、查看时间新闻。command、shell模块

美高梅手机版4858 15

二、在控制端添加添加用户。user模块

美高梅手机版4858 16

三、达成ssh秘钥认证。shell、copy模块

美高梅手机版4858 17

此刻就能够落成基于ssh秘钥通讯了此时/etc/ansible/hosts能够修改如下

###### /etc/ansible/hosts  [webhosts]  172.16.10.22  172.16.10.33   

美高梅手机版4858 18

4、安装软件和起步服务。yum、service模块

美高梅手机版4858 19 

美高梅手机版4858 20

伍、帮忙管道的通令。raw模块,类似于shell模块

美高梅手机版4858 21

有关ansible的着力介绍到此地就与世长辞了,下一篇小说大家会介绍一些批量配置的小技巧哦~

【编辑推荐】

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有