欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

自动化运维工具Ansible

程序员文章站 2022-05-25 14:41:55
一、简介 当下有许多的运维自动化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。 Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的 ......

一、简介

当下有许多的运维自动化工具( 配置管理 ),例如:ansible、saltstack、puppet、fabric 等。

ansible 一种集成 it 系统的配置管理、应用部署、执行特定任务的开源平台,是 ansibleworks 公司名下的项目,该公司由 cobbler 及 func 的作者于 2012 年创建成立。

ansible 基于 python 语言实现,由 paramiko 和 pyyaml 两个关键模块构建。

二、特性

部署简单,只需在主控端部署 ansible 环境,被控端无需做任何操作。

支持linux/unix及windows环境

默认使用 ssh(secure shell)协议对设备进行管理,用它来配置思科路由也非常方便。

主从集中化管理。
配置简单、功能强大、扩展性强。
支持 api 及自定义模块,可通过 python 轻松扩展。
通过 playbooks 来定制强大的配置、状态管理。
对云计算平台、大数据都有很好的支持。
提供一个功能强大、操作性强的 web 管理界面和 rest api 接口 ---- awx 平台。

三、总体架构

 

自动化运维工具Ansible

四、执行过程

自动化运维工具Ansible

五、ansible 与 saltstack对比

>> 最大的区别是 ansible 无需在被监控主机部署任何客户端代理,默认通过 ssh 通道进行远程命令执行或下发配置。
>> 相同点是都具备功能强大、灵活的系统管理、状态配置,都使用 yaml 格式来描述配置,两者都提供丰富的模板及 api,对云计算平台、大数据都有很好的支持。

ansible在github上地址:

 

ansible安装部署与配置

       角色              主机名                  ip                                组名             

       控制端           hd01                     192.168.1.11                 ——             

       被控端           hd02                     192.168.1.12                 webservers   

       被控端           hd03                     192.168.1.13                 webservers   

 

ansible安装

安装可使用源码编译安装,也可以更新yum源后使用yum安装

 

yum 安装:

配置源(centos6)

yum install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm -y

换163的源

wget http://mirrors.163.com/.help/centos6-base-163.repo      

 mv centos6-base-163.repo /etc/yum.repos.d/

 yum clean all

 

centos6-base-163.repo主要是为了安装:pyyaml

配置源(centos7)
rpm -iuvh http://ftp.jaist.ac.jp/pub/linux/fedora/epel//7/x86_64/e/epel-release-7-7.noarch.rpm
下载配置文件(centos7)
wget http://mirrors.163.com/.help/centos7-base-163.repo          centos7-base-163.repo主要是为了安装:pyyaml
mv centos7-base-163.repo /etc/yum.repos.d/

yum clean all

 

安装ansible

yum -y install ansible


查看ansible 版本

[root@hd01 ~]# ansible --version

ansible 2.5.3

  config file = /etc/ansible/ansible.cfg

  configured module search path = [u'/usr/share/my_modules']

  ansible python module location = /usr/lib/python2.6/site-packages/ansible

  executable location = /usr/bin/ansible

  python version = 2.6.6 (r266:84292, aug 18 2016, 15:13:37) [gcc 4.4.7 20120313 (red hat 4.4.7-17)]

注:yum装ansible      随着时间的推移,ansible版本会是最新版的。

 未完待续。。