zoukankan      html  css  js  c++  java
  • Ansible运维工具

     1、Ansible是一款极为灵活的开源工具套件,能够大大简化Unix管理员的自动化配置管理与流程控制方式。可以通过命令行或者GUI来使用Ansible,运行Ansible的服务器这里俗称“管理节点”;通过Ansible进行管理的服务器俗称“受控节点”。

    Ansible自动运维管理工具优点:

    1) 轻量级,更新时,只需要在操作机上进行一次更新即可;

    2)  采用SSH协议;

    3)  不需要去客户端安装agent;

    4)  批量任务执行可以写成脚本,而且不用分发到远程就可以执行;        

    5)  使用python编写的,维护更简单;     

    6)  支持sudo普通用户命令;

    7)  去中心化管理。

    结构拓扑

    2、Ansible安装配置

    rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    yum   install   epel-release  -y
    yum   install   ansible       -y

    ansible默认主配置目录/etc/ansible/,其中hosts文件为被管理机IP或者主机名列表,ansible.cfg为ansible主配置文件,roles为角色或者插件路径,默认该目录为空

     Ansible远程批量管理,其中执行命令是通过Ad-Hoc来完成,也即点对点单条执行命令,能够快速执行,而且不需要保存执行的命令。默认hosts文件配置主机列表,可以配置分组,可以定义各种ip及规则

    可以使用ansible-doc -l|more查看ansible支持的模块 也可以查看每个模块的帮助文档,ansible-doc  module_name

    3、Ansible工具参数详解

    基于Ansible批量管理之前,需将被管理的服务器IP列表添加至/etc/ansible/hosts文件

    由于Ansible管理远程服务器基于SSH,在登录远程服务器执行命令时需要远程服务器的用户名和密码,也可以加入-k参数手动输入密码或者基于ssh-keygen生成免秘钥。

    Ansible自动化批量管理工具主要参数如下:

    -v,–verbose                              打印详细模式;
    -i PATH,–inventory=PATH               指定host文件路径;
    -f NUM,–forks=NUM                   指定fork开启同步进程的个数,默认5;
    -m NAME,–module-name=NAME           指定module名称,默认模块command;
    -a MODULE_ARGS                      module模块的参数或者命令;
    -k,–ask-pass                            输入远程被管理端密码;
    –sudo                                   基于sudo用户执行;
    -K,–ask-sudo-pass                       提示输入sudo密码与sudo一起使用;
    -u USERNAME,–user=USERNAME      指定移动端的执行用户;
    -C,–check                               测试执行过程,不改变真实内容,相当于预演;
    -T TIMEOUT,                            执行命令超时时间,默认为10秒;
    --version                             查看Ansible软件版本信息。

    Ansible 管理机与被管理机做秘钥认证

    ssh-keygen 
    ssh-copy-id -i root/.ssh/id_rsa.pub -p 22 root@192.168.0.112

    4、Ansible ping模块

    ansible -k all  -m ping

    5、Ansible command模块

    Ansible command模块为ansible默认模块,主要用于执行Linux基础命令,可以执行远程服务器命令执行、任务执行等操作。Command模块使用详解

    Chdir                    执行命令前,切换到目录;
    Creates                    当该文件存在时,则不执行该步骤;
    Executable                换用shell环境执行命令;
    Free_form                需要执行的脚本;
    Removes                    当该文件不存在时,则不执行该步骤;
    Warn                    如果在ansible.cfg中存在告警,如果设定了False,不会警告此行。

    1)Ansible command模块远程执行date命令

    ansible -k -i /etc/ansible/hosts  all  -m command -a  "date"

    2)Ansible command模块远程执行ping命令

     3)Ansible Hosts模式远程执行df -h

     

  • 相关阅读:
    JS实现对Date Range的认证
    SharePoint 用SafeControl的方式创建能够重复利用的Control
    设计模式详解(链接)
    Asp.net MVC3中进行自定义Error Page
    手动将自定制的WebPart部署到 SharePoint 2010 中
    获取 SharePoint 2010 中所有的User Profile Service Application
    自定义Data Service Providers — (5)最小化的运行时服务
    温总理对软件工作者的勉励
    自定义Data Service Providers —(9)关系
    自定义Data Service Providers — (7)交互式查询
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10549033.html
Copyright © 2011-2022 走看看