zoukankan      html  css  js  c++  java
  • ansible自动化运维工具

    absible是2013年推出的一款IT自动化DevOps软件,2015年被redhat收购,是基于python研发,糅合很多老运维工具的优点,实现了批量操作系统配置,批量程序部署,批量运行命令等功能

    ansible可以实现:

        -- 自动化部署APP

        -- 自动化管理配置项

        -- 自动化持续交付

        -- 自动化(AWS)云服务管理

    ansible优点:

        -- 只需要ssh和python即可使用

        -- 无客户端

        -- ansible功能强大,模块丰富

        -- 上手容易,门槛低

        -- 基于python开发,做二次开发更容易

        -- 使用公司比较多,社区活跃

    ansible特性:

        模块化设计,调用特定的模块完成特定的任务

        基于python语言实现

          -- paramiko    

          -- PyYAML(半结构化语言)

          -- jinja2

        其模块支持JSON等标准输出根式,可以采用任何变成语言重写

        部署简单

        主从模式工作

        支持自定义模块

        支持playbook

        易于使用

        支持多层部署

        支持异构IT环境

    工作流程:

        

    软件依赖关系

            要求python2.6或python2.7

        对于被托管主机

            -- ansible模式通过ssh协议管理机器

            -- 被管理主机要开启ssh服务,允许ansible主机登陆

            -- 在托管节点上也需要安装python2.5或以上的版本

            -- 如果托管节点上开启了selinux,需要安装libselinux-python

    安装ansible:

        ansible源码下载

          -- git clone git://github.com/ansible/ansible.git

          -- yum install python-setuptools python-devel

          -- python setup.py buils

          -- python setup.py install

        pip方式安装

          -- pip install ansible

        yum扩展安装简单,自动解决依赖关系

          -- http://mirror.centos.org/.../.../extras/

          -- yum -y install ansible

        安装以后验证 

          ansible --version

    ansible 命令基础

        -- -M 指定模块路径

        -- -a 模块参数

        -- -k 使用交互式登录密码

        -- -e 定义变量

        -- -v 详细信息

        -- -m 使用模块,默认使用command模块

    列出要执行的主机:

        ansible all  --list-hosts

    批量检测主机

        ansible all -m ping

    批量执行命令

        ansible all -m command -a “id” -k

    ansible-doc 

        -- 模块的手册 相当于shell的man  很重要很重要

        -- ansible-doc -l       列出所有模块

       ping 模块

        -- 测试网络连通性

        -- 注: 测试ssh的连通性

            ansible 主机名 -m ping

    说白了 常用命令就一条        ansible -m 主机名  -a “命令”    做之前必须ssh免密

                     

  • 相关阅读:
    linux 网络不通问题排查
    linux下挂载U盘
    git 详细教程网址
    字符串的全排列和组合算法
    D-BUS详细分析
    linux socket编程之TCP与UDP
    Linux下的 .o、.a、.so文件
    Fiddler HTTPS指南
    nm指令
    无法使用xcode打出ipa包的解决方法
  • 原文地址:https://www.cnblogs.com/wengzhenqi/p/10990276.html
Copyright © 2011-2022 走看看