ansible运维自动化工具

软件包的安装
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install ansible -y
配置免密钥
在master服务器生成ssh-key,并分发到所有客户端
ssh-keygen -t rsa  【一路回车】
ssh-copy-id -i ~/.ssh/id_rsa.pub【客户端IP地址】

配置安装完成之后,先来配置下配置项——.ansible.cfg。ansible执行的时候会按照以下顺序查找配置项:

* ANSIBLE_CONFIG (环境变量)

* ansible.cfg (当前目录下)

* .ansible.cfg (用户家目录下)

* /etc/ansible/ansible.cfg

默认ansible执行时会从该配置中加载hosts配置,因此可以通过修改.ansible.cfg来指定默认的hosts文件地址:

[defaults]
hostfile=/Users/the5fire/hosts

有几个参数需要记录下:-u username # 指定ssh连接的用户名 -f 10 # 指定并发数 --sudo [-K] # 如果需要root权限执行的话,-K参数是用来输入root密码的

定义hosts文件:

ansible的hosts默认在/etc/ansible/目录中,其中提示ansible是支持域名和ip两种客户端命名格式的,在这里定义了一个“slave”组 vim /etc/ansbile/hosts [slave]

192.168.17.18192.168.17.19
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登陆密码3、测试各个模块
# 注意每个模块的用法可以使用 ansible-doc MOD 来查看例如ansible-doc copy  

ansible命令最常用的用法
ansible <Host-partten> -m MOE -a ‘MOD_ARV‘所支持的模块可以使用ansible-doc -l来查看



上面的ad hoc是指执行一条临时的不需要保存的命令,那么复杂的命令怎么执行呢?因此也就有了playbook这个命令: ansible-playbook 。

playbook(剧本),就是需要定义一个脚本或者说配置文件,然后定义好做什么。

例子:把当前用户名输出到whoami.rst文件中:

cat /etc/ansible/playbook.yml
---
- hosts: slave  # hosts文件中定义的组
  remote_user: root  # 如果和当前用户一样,则无需指定
  tasks:  # tasks是是关键词,指明了要执行哪些任务
    - name: whoami # name是任务的名称
      shell: ‘whoami > whoami.rst‘ # shell是指定使用的module(模块),单引号中是命令。

- hosts: slave
  remote_user: root
  tasks:
      - name: whoami
        copy: src=~/hosts dest=~/hosts.dest  #  本地拷贝到远端
        notify: # 如果copy执行完之后~/hosts.dest文件发送了变化,则执行
            - clear copy
  handlers:
      - name: clear copy  # 调用handler
        shell: ‘mv ~/hosts.dest hosts.del‘  # 重命名

cat playbook.yml

- hosts: slave
  remote_user: root
  tasks:
      - name: whoami
        copy: src=~/hosts dest=~/hosts.dest

      - name: clear copy
        shell: ‘mv ~/hosts.dest hosts.del‘
时间: 2024-10-24 03:04:46

ansible运维自动化工具的相关文章

&lt;zz&gt;Ansible 运维自动化 ( 配置管理工具 )

from http://www.cnblogs.com/wangxiaoqiangs/p/5685239.html 简介: 当下有许多的运维自动化工具( 配置管理 ),例如:Ansible.SaltStack.Puppet.Fabric 等. Ansible 一种集成 IT 系统的配置管理.应用部署.执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立. Ansible 基于 Python 语言实现,由 Pa

运维自动化工具Cobbler之——安装实践

运维自动化工具--Cobbler实践 第1章 About Cobbler 1.1 Cobbler Introduction Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用.Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web

Ansible运维自动化

Ansible运维自动化 一.Ansible-playbook的初步使用 playbook的使用,playbook可以把ansible的模块进行组合 ln -s /usr/local/python/bin/ansible-playbook /usr/local/bin/ 1.playbook的简单shell模块使用 [[email protected] scripts]# cat test_shell.yaml  #playbook的执行模板 ---         #开头三个小-开头 - ho

运维自动化工具ansible

一.基础知识: 1. 简介 ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力. 真正具有批量部署的是ansible运行的模块,ansible只是一个框架 ansible架构 (1) 连接插件connection plugins: 负责和被监控端实现通信: (2) host inventory: 指定操作的主机,是一个配置文件里面定义监控的主机 (3) 各种模块核心模块.com

使用Chef管理windows集群 | 运维自动化工具

但凡服务器上了一定规模(百台以上),普通的ssh登录管理的模式就越来越举步维艰.试想Linux发布了一个高危漏洞的补丁,你要把手下成百上千台机器都更新该补丁,如果没有一种自动化方式,那么至少要耗上大半天时间.虽然你编写了大量的shell(或python,perl)脚本来实现各种自动化场景,但最后会发现你又陷入了脚本的汪洋大海之中,管理和维护这么多的脚本的成本也不小.你需要一款基础设施自动化工具,希望它能具有以下功能. 1批量执行 这个不多说了吧,试想要为每一台机器打补丁的情形吧. 2任务编排 现

运维自动化工具cobbler实现系统自动化安装

Cobbler是一款开源的,自动化操作系统安装的运维工具,使用 Cobbler,无需进行人工干预即可安装操作系统,使得操作系统的安装变得非常简单. Cobbler 支持众多的发行版:Red Hat.Fedora.CentOS.Debian.Ubuntu 和 SuSE. Cobbler 可使用 kickstart 模板.基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程.下面的实验使用kickstart文件来实现CentOS 6.5系统的自动化安装. 一.

自动化运维-自动化工具其实只是个噱头

现在运维圈子里都流行利用各个自动化工具进行运维,个人感觉,这些只是一个噱头,是一些培训机构利益获取的幌子,也是各个运维人员提高身价的砝码,本身并没有什么. 对于大批量的系统运维,不外乎几大业务场景: 1.统一配置管理 (如批量更改服务器的某个参数,批量上传一个文件,批量更改服务器的一个文件) 有人说puppet可以做得很好,其实,写个循环脚本,针对每一个ip,执行一个实现配置功能shell脚本 (ssh可以实现远程更改一个参数,远程更改一个文件,scp可以实现upload一个文件),是一个件ea

运维自动化工具ansible学习笔记

利用五一假期的时间学习了下ansible,看了一天的官方文档,对其中需要注意的地方,做下笔记整理下思绪. 一.简介 Ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.puppet与saltstack这2个软件都需要安装客户端,而saltstack与ansible很相似,都是属于python流的,但saltstack不是很稳定:puppet虽然稳定,但命令执行的时候,需要配置模块

运维自动化工具ansible(安装)

一.安装 注意:强烈建议升级python版本到2.6以上,不然运行会出错或者有些功能会没有,在编译安装其他包的时候也会因为兼容问题报错. (1).python2.7安装 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 # make install ## 将py