自动化运维之Ansible的安装部署与命令模块

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

    主要包括:

    (1)连接插件connection plugins:负责和被监控端实现通信;

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

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

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

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

    • 搭建环境

    管理端:centos7-1 192.168.177.145

    被管理端:centos7-2 192.168.177.135

    被管理端:centos7-3 192.168.177.132

    Ansible安装

    192.168.177.145:

    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0
    # yum install -y epel-release  //安装epel源
    # yum install ansible -y   //安装Ansible
    # vim /etc/ansible/hosts
      [abc]
      192.168.177.135
      [mysql]
      192.168.177.132
    # ssh-keygen -t rsa       //设置密钥对
    # ssh-copy-id [email protected]
    # ssh-copy-id [email protected]  //配置密钥对
    # ssh-agent bash    //免交互代理
    # ssh-add




    192.168.177.135(另一台也一样):

    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0
    # cd ~/.ssh

    Ansible命令行模块

    command模块

    命令格式:ansible [主机] [-m 模块] [-a args]

    # ansible 192.168.177.135 -m command -a ‘date‘   //指定ip执行date
    # ansible mysql -a ‘date‘   //指定分类执行date


    cron模块

    用于定义任务计划

    两种状态(state):present表示添加(可以省略),absent表示移除。

    # ansible-doc -s cron      //查看cron模块信息
    # ansible abc -m cron -a ‘minute="*/1" job="/usr/bin/echo nihao" name="test nihao"‘  //添加周期性计划任务
    # ansible abc -a ‘crontab -l‘
    # ansible abc -m cron -a ‘name="test nihao" state=absent‘   //移除计划任务,假如该计划任务没有取名字,name=None即可


    user模块

    用于创建新用户和更改删除已存在的用户

    user模块是请求的是useradd, userdel, usermod三个指令

    # ansible-doc -s user
    # ansible mysql -m user -a ‘name=zhangsan‘  //创建zhangsan
    # ansible mysql -m user -a ‘name=zhangsan state=absent‘   //删除zhangsan


    group模块

    对用户组进行管理

    group模块请求的是groupadd, groupdel, groupmod 三个指令

    # ansible mysql -m group -a ‘name=test gid=306 system=yes‘  //创建test组
    # ansible mysql -m user -a ‘name=wang‘ //创建用户wang
    # ansible mysql -m group -a ‘name=test1 gid=506 system=yes‘  //创建test1组
    # ansible mysql -m user -a ‘name=wang uid=506 group=test1 system=yes‘ //将wang添加到test1组



    copy模块

    用于实现文件复制和批量下发文件

    # ansible-doc -s copy
    # ansible abc -m copy -a ‘src=/etc/fstab dest=/opt/fstab.bk owner=root mode=644‘ //将/etc/fstab复制到被管理端/opt下
    # ansible abc -a ‘cat /opt/fstab.bk‘ //查看


    file模块

    用于设置文件属性

    # ansible mysql -m file -a ‘path=/opt/test.txt state=touch‘  //创建空文件
    # ansible mysql -m file -a ‘path=/opt/test.txt owner=wang group=test1 mode=666‘   //设置文件的属主,属组和权限
    # ansible mysql -m file -a ‘src=/opt/test.txt path=/opt/test.txt.link state=link‘  //创建链接性文件
    # ansible mysql -m copy  -a ‘content="hello" dest=/opt/test.txt‘  //在test.txt中写入内容




    ping模块

    用于测试指定主机的连通性

    # ansible all -m ping

    yum模块

    # ansible abc -m yum -a ‘name=httpd‘ //yum安装httpd服务

    service模块

    用来控制管理服务的运行状态

    # ansible abc -m service -a ‘name=httpd enabled=true state=started‘  //开机自启动


    shell模块

    在被管理端运行命令

    # ansible mysql -m shell -a ‘echo "abc123" | passwd --stdin wang‘  //创建密码

    script模块

    将本地脚本复制到被管理端运行

    # ansible-doc -s script
    # vi /opt/test.sh
    #!/bin/bash
    echo "hello ansible from script"> /opt/script.txt
    # chmod +x /opt/test.sh
    # ansible mysql -m script -a ‘/opt/test.sh‘

    setup模块

    # ansible mysql -m setup           //获取mysql组主机的facts信息

    原文地址:http://blog.51cto.com/13620936/2153333

    时间: 2024-08-11 01:35:53

    自动化运维之Ansible的安装部署与命令模块的相关文章

    自动化运维工具--Ansible(安装部署、模块简介与操作)

    一.Ansible概述 互联网的快速发展导致产品更新换代速度加快,按照传统维护操作使得工作效率低下,自动化运维以尽可能安全高效的完成工作为目的,实现代替传统工作方式. 自动化运维工具划分为两类: 一是需要使用代理工具的,也就是基于agent程序来实现管理功能,例如puppet.func.zabbix等 二是不需要代理配置工具的,可以直接基于SSH服务来完成管理功能,如ansible,fabric等. 自动化运维工具比较: 工具 开发语言 结构 配置文件格式 运行任务 Ansible Python

    【Ansible】自动化运维工具Ansible的安装及使用

    常用自动化运维工具: ①CFengine ②Chef ③Puppet ③SaltStack ③Ansible-基于python开发,分布式,无需客户端,轻量级.配置语言采用YAML. Ansible基本架构 Ansible工作原理 Ansible的安装及使用 ①CentOS Linux release 7.3.1611 (Core) 安装: yum install -y ansible [[email protected] ansible]# ls /etc/ansible/ ansible.c

    linux下自动化运维工具ansible的安装和使用

    ansible是基于python语言开发的模块化批量管理工具.ansible无终端,基于ssh实现管理:支持主从模式,支持playbook.实验环境:3台Centos7 .131做为主控节点.130和132做为被控节点.一.在131上安装ansible(1).yum install ansible -y(2).查看ansible版本ansible --version(3).ansible相关的文件rpm -qc ansible/etc/ansible/ansible.cfg #ansible配置

    自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 ===========================

    自动化运维之Ansible安装与模块应用

    自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

    自动化运维工具ansible详细介绍

    在学习批量管理软件时,首先要明确的知道自己需要什么,网上大神很多,他们都研究到源码上了,写了很多介绍绚丽功能的文档,但其实那些功能基本上我们都用不到,经常被各种文档弄得头脑发晕,此文就是为了简单直白的告诉大家ansible的功能,满足大家的基本需求. 首先确认批量管理我们需要什么:无外乎主机分组管理.实时批量执行命令或脚本.实时批量分发文件或目录.定时同步文件等. 目录 1.      ansible与saltstack对比... 2.      ansible安装... 3.      ans

    自动化运维工具——ansible详解案例分享

    自动化运维工具--ansible详解案例分享(一)目录ansible 简介ansible 是什么?ansible 特点ansible 架构图ansible 任务执行ansible 任务执行模式ansible 执行流程ansible 命令执行过程ansible 配置详解ansible 安装方式使用 pip(python的包管理模块)安装使用 yum 安装ansible 程序结构ansible配置文件查找顺序ansible配置文件ansuble主机清单ansible 常用命令ansible 命令集a

    3.1 自动化运维工具ansible

    自动化运维工具ansible 运维自动化发展历程及技术应用 Iaas 基础设施即服务Pass 平台服务SaaS 软件即服务 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输命令执行 应用部署配置管理任务流编排 企业实际应用场景分析 1 Dev开发环境 使用者:程序员功能:程序员开发软件,测试BUG的环境管理者:程序员123 2 测试环境 使用者:QA测试工程师功能:测试经过Dev环境测试通过的软件的功能管理者:运维说明:测试环境往往有多套,测试环境满足测试功能即可

    自动化运维工具-Ansible基础

    目录 自动化运维工具-Ansible基础 自动化运维的含义 Ansible 基础及安装 Ansible的架构 Ansible的执行流程 ansible配置文件 ansible Inventory(主机清单文件) Ansible ad-hoc ansible常用模块 实战 自动化运维工具-Ansible基础 自动化运维的含义 1.手动运维时代 2.自动化运维时代 3.自动化运维工具给运维带来的好处 Ansible 基础及安装 1.什么是Ansible Ansible是一个自动化统一配置管理工具 2