Ansible

作者: tony_0c73 | 来源:发表于2017-10-19 18:33 被阅读0次

    1. 概述:

    运维工具按需不需要有代理程序来划分的话分两类:

    agent(需要有代理工具):基于专用的agent程序完成管理功能,puppet, func, zabbix

    agentless(无须代理工具):基于ssh服务完成管理,ansible, fabric

    2, 简介

    Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。主版本大概每2个月发布一次。

    Ansible与Saltstack最大的区别是Ansible无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置:相同点是都具备功能强大、灵活的系统管理、状态配置,两者都提供丰富的模板及API,对云计算平台、大数据都有很好的支持。

    1 ,特点:

    部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;

    默认使用SSH协议对设备进行管理;

    主从集中化管理;

    配置简单、功能强大、扩展性强;

    支持API及自定义模块,可通过Python轻松扩展;

    通过Playbooks来定制强大的配置、状态管理;

    对云计算平台、大数据都有很好的支持;

    提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。

    幂等性:一种操作重复多次结果相同

    2, 架构

    3,执行过程

    3. 安装

    ssh:

    分发秘钥:

    # ssh-copy-id root@10.1.6.73

    # ssh-copy-id root@10.1.6.72

    # ssh-copy-id root@10.1.6.68

    [root@ansible_master ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.6.72

    -bash: ssh-copy-id: command not found

    报错了

    解决方法:

    yum -y install openssh-clients

    常用命令

    ansible -m MOD_NAME -a MOD_ARGS

    -i 指定配置文件

    [celery]

    10.9.165.102

    10.9.106.31

    ansible celery -i /data/duant/ansible_hosts -m command  -a "sudo sh /home/app/bin/stopConsumers.sh"

    ansible celery -i /data/duant/ansible_hosts -m copy  -a "src=/tmp/one.txt dest=/tmp/duant mode=640"

    参考:

    http://www.ansible.com.cn/

    http://www.cnblogs.com/sanyuanempire/p/6169489.html

    相关文章

      网友评论

          本文标题:Ansible

          本文链接:https://www.haomeiwen.com/subject/fxwsuxtx.html