美文网首页
ansible初识

ansible初识

作者: Zhang_cfc3 | 来源:发表于2019-03-07 21:22 被阅读0次

    1. ansible简介

     ansible是一款基于Python的自动化运维工具,可以对系统进行批量配置、批量程序部署、批量执行命令。宏观的说,ansible是一种框架 ,他的各种模块才真正有批量部署能力。

    2. ansible的特点 

    1.部署简单,只需要在主服务器上操作,被控端无需任何操作

    2.使用SSH协议对设备进行管理

    3.具有大量的操作模块,功能强大

    4.轻量级,只需要在操作的机器上进行更新即可

    5.通过playbooks可以实现更多功能

    3. ansible 的安装及配置详解

    安装

    简单的说,两种安装方式 yum和pip

    ```

    yum -y install ansible(前提装好epel源)

    (yum -y install epel-release)

    pip install ansible(前提安装好python-pip包并安装)

    ```

    配置文件

    ansible的配置文件路径:/etc/ansible/ansible.cfg

    inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置

    library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号

    host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提

    示配置实例

    timeout = 60 #设置SSH连接的超时时间,单位为秒

    log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)

    ansible-doc帮助命令

    ```

    ansible-doc -l #获取全部模块的信息

    ansible-doc -s mod_name #获取指定模块的使用帮助

    ```

    ansible 命令格式

    ansible web -m 指定模块名 -a执行的命令

    4. 配置主服务器和其他从服务器之间的关系

    1.首先要推公钥(步骤如下)

    ssh-keygen (生成公钥)

    ssh-copy-id +ip地址 (记住,推给谁 连接谁就不需要密码)

    这几个命令需要的安装包(yum -y install openssh-clientsansible)

    2. cd到/etc/ansible中  然后 mv hosts hosts.bak 再 vim hosts 在其中添加 [web]   下面写被控制主机的ip地址

    3. 运用命令 ansible web -m ping ip 命令进行连通性测试

    至此配置完成 可以运用下面的各种模块进行部署

    5.各种模块简介

    1.command模块

    这个模块可以直接在远程主机上执行命令 但是shell中的某些功能不能用 比如管道

    ```

    ansible web -m command -a 'ss -ntl'

    ```

    2. shell模块

    shell模块可以在远程主机上调用shell解释器运行命令,支持shell的各种功能,例如管道等

    ```

    ansible web -m shell -a 'cat /etc/passwd |grep "keer"'

    ```

    3. copy 模块

    这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。

    ansible web -m copy -a 'src=~/hello dest=/data/hello'

    相关文章

      网友评论

          本文标题:ansible初识

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