zoukankan      html  css  js  c++  java
  • Ansible(自动化运维工具介绍)

    一、Ansible介绍

     ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
     ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
    (1)、连接插件connection plugins:负责和被监控端实现通信;
    (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
    (3)、各种模块核心模块、command模块、自定义模块;
    (4)、借助于插件完成记录日志邮件等功能;
    (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
     

    二、ansible工作机制

    架构组成:ansible核心、ansible模块、ansible-playbook(剧本)、host inventry(主机清单)等
    工作原理:单个模块,单个命令执行方式;剧本执行方式

    三、ansible的参数:

    ansible参数说明
    参数   参数说明
    -m   指定使用的module名称,默认使用command模块
     -a  指定使用的命令,如ansible all -m shell -a "date"
     -v  --verbose 详细信息
     all  针对hosts 定义的所有主机执行
    -U --sud-user=SUDO_User sudo到哪个用户,默认为 root
    -k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证
    -s --sudo sudo运行
    -S --su 使用su命令

    四、ansible的常用模块

    ansible模块
    模块名称 模块说明
    ping 测试主机是否是通的,用法很简单,不涉及参数
    command 执行命令模块,ansible命令执行默认模块
    shell 执行shell命令模块
    copy 复制文件到远程主机
    script 脚本模块
    file file模块主要用于远程主机上的文件操作
    service 用于管理服务
    cron 用于管理计划任务
    synchronize 使用rsync同步文件
    yum 使用yum包管理器来管理软件包
    mount 配置挂载点
    get_url 该模块主要用于从http、ftp、https服务器上下载文件(类似于wget)
    user user模块是请求的是useradd, userdel, usermod三个指令
    group goup模块请求的是groupadd, groupdel, groupmod 三个指令

    五、ansible的语法格式

    ansible all -m shell -a "date"

    ansible all -m shell -a date
    ansible命令 主机清单 ansible参数 ansible模块 指定使用的命令 date命令
  • 相关阅读:
    linux下自动同步internet时间
    String,StringBuffer与StringBuilder的区别
    Spring Boot CLI安装
    java中Date与String的相互转化
    MyBatis Sql语句中的转义字符
    MyBatis详解 与配置MyBatis+Spring+MySql
    MyBatis的foreach语句详解
    不可变集合 Immutable Collections
    Java日期时间使用总结
    Java将一段逗号分割的字符串转换成一个数组
  • 原文地址:https://www.cnblogs.com/51wansheng/p/9063646.html
Copyright © 2011-2022 走看看