美文网首页
Ansible(一)- 简介与命令

Ansible(一)- 简介与命令

作者: Zoulf | 来源:发表于2018-03-13 07:01 被阅读0次

    简介

    Ansible 是一个配置管理和应用部署工具。

    Ansible 默认通过 SSH 协议管理机器,所以 Ansible 不需要安装客户端程序在服务器上。您只需要将 Ansible 安装在一台服务器,在 Ansible 安装完后,您就可以去管理控制其它服务器。

    Ansible 1.3及之后的版本默认会在本地的 OpenSSH可用时会尝试用其进行远程通讯.这会启用ControlPersist(一个性能特性),Kerberos,和在~/.ssh/config中的配置选项如 Jump Host setup.然而,当你使用Linux企业版6作为主控机(红帽企业版及其衍生版如CentOS),其OpenSSH版本可能过于老旧无法支持ControlPersist. 在这些操作系统中,Ansible将会退回并采用 paramiko (由Python实现的高质量OpenSSH库)。

    在Ansible 1.2 及之前的版本,默认将会使用 paramiko. 本地OpenSSH必须通过-c ssh 或者 在配置文件中设定。

    Ansible 的目标有如下:

    • 自动化部署应用
    • 自动化管理配置
    • 自动化的持续交付
    • 自动化的(AWS)云服务管理。

    命令

    命令分为单条命令(ad_hoc命令)、交互式命令、查看模块信息命令、下载第三方扩展模块命令、剧本命令等。

    ansible

    ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。

    Usage: ansible <host-pattern> [options]

    选项:



    连接选项:


    特权升级选项:


    示例:

    ansible all -m ping
    ansible 192.168.77.* -m ping
    ansible all -m command -a ifconfig
    ansible all -m shell -a "ifconfig eth0 |grep 'inet addr' "
    ansible -i "192.168.77.129,192.168.77.130" 192.168.77.129  -m ping
    ansible -i hosts  all --list-host
    ansible -i hosts -l 192.168.77.130 all -m ping -t /tmp -vvvv
    ansible web -l @retry_hosts.txt --list-hosts
    

    ansible-console

    交互式命令执行界面。

    Usage: ansible-console <host-pattern> [options]

    选项和 ansible 一致。

    ansible-doc

    该指令用于查看模块信息,常用参数有两个-l和 -s

    Usage: ansible <host-pattern> [options]

    选项:


    示例:

    ansible-doc -l
    ansible-doc yum
    ansible-doc yum -s
    

    ansible-galaxy

    ansible-galaxy 指令用于方便的从 https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install

    Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] …

    示例:

    ansible-galaxy install aeriscloud.docker  # 下载
    ansible-galaxy  init abc   # 创建角色模板
    

    ansible-playbook

    对于需反复执行的、较为复杂的任务,我们可以通过定义 Playbook 来搞定。Playbook 是 Ansible 真正强大的地方,它允许使用变量、条件、循环、以及模板,也能通过角色及包含指令来重用既有内容。

    Usage: ansible-playbook playbook.yml

    相对于ansible,增加了下列选项:



    下一节会对 playbook 进行详细解读。

    ansible-pull

    pull模式在被配置的机器上运行,速度很快。在这种模式下,你需要提供一个git仓库来供Ansible下载来配置你的机器。

    Usage: ansible-pull -U <repository> [options]

    ansible-vault

    ansible-vault主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件。这种playbook文件在执行时,需要加上 –ask-vault-pass参数,同样需要输入密码后才能正常执行。

    Usage: ansible-vault [create|decrypt|edit|encrypt|rekey|view] [--help] [options] vaultfile.yml

    示例:

    ansible-vault create /tmp/123 # 创建加密文件
    ansible-vault view  /tmp/123 # 查看加密文件
    ansible-vault encrypt  /tmp/abc # 加密文件
    ansible-vault decrypt  /tmp/abc # 解密文件
    

    相关文章

      网友评论

          本文标题:Ansible(一)- 简介与命令

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