Ansible介绍

一、Ansbile是什么

        Ansible是一个自动化管理IT资源的工具(自动化,管理,IT资源)

        Ansible功能:系统环境配置,安装软件,持续集成,热回滚

        Ansible优点:无客户端;推送式;丰富的module;基于YAML的Playbook

        Ansible缺点:效率低,易挂起;并发性能差

        Ansible与其他软件比较:

        

二、Ansible安装部署

       环境准备:Python,Setuptools,Pip(可选)

       快速安装:安装pip:easy_install pip

                         安装ansible:pip install ansible

        源码安装:获取源码包:https://github.com/ansible/ansible

                          或者:git clone github.com/ansible/ansible.git

                                      j进入源目录:cd ./ansible

                                      source ./hacking/env-setup

                            注:源码安装需要安装一些依赖包:paramiko、PyYAML、Jinja2、httplib2、simplejson、pycrypto等模块,以上模块可以通过pip或easy_install 进行安装。

        Redhat/CentOS安装:yum install ansible

        Ubuntu安装:apt-get install software-properties-common

                               add-apt-reposity --yes --update ppa:ansible/ansible

                               apt-get update

                               apt-get install ansible

          安装成功后,可以使用以下命令检查ansible的安装版本:

          ansible  --version

三、Ansible配置详解

       Ansible的配置文件:ansible.cfg

       default默认配置项

        privilege_escalation 执行命令的用户权限设置

        paramiko_connection paramiko插件的设置

        ssh_connection  ssh连接设置

        accelerate

        selinux & colors   

         ask_pass & ask_sudo_pass
                ask_pass: 可以控制,Ansible中playbook是否会自动默认弹出密码输出
                ask_sudo_pass:用户使用的系统平台开启了sudo密码的话,应该设置该参数为true

          gather_subnet
                 设置收集的内容:包括all,network,hardware,virtual,facter,ohai

          remote_port(一般默认为22端口) & remote_tmp & remote_user(一般默认root用户)

                   客户机的设置,对登录的端口,临时路径和用户的设置      

           sudo_exe & sudo_flags &sudo_user

                   sudo命令相关设置,分别是sudo命令路径,sudo参数,能够使用sudo的user

            action_plugins & callback_plugins & connection_plugins & filter_plugins & lookup_plugins & vars_plugins
                   开发者中心的插件相关功能,开发者可以开发相应得插件来完成自己的功能。分别对应的功能为:激活事件,回调,连接,过滤器,加载路径,任何地方加载
             forks
                    最大开辟的进程数,这个数不易过大,过大性能耗费高,不易过小,过小的话,并发性能低,一般的设置方法:cpu核数*2

            module_name

                      这个是/usr/bin/ansible的默认模块名(-m).默认是‘command' 模块。command模块不支持shell变量,管道和配额。

             vault_password_file

                      这个文件也可以称为一个脚本的形式。使用脚本而不是单纯的文件,必须确保其可以执行并且密码可以在标准输出上打印出来;若脚本需要提示请求数据,请求将会发到标准错误输出中。

            pattern

                     如果没有提供“hosts"节点,这是playbook要通信的默认主机组。默认值是对所有主机通信,建议还是设置个选项。

           inventory & library

                     分别为存放可通信主机的目录和ansibile默认搜寻的模块路径。

posted @ 2020-03-19 22:06  出水芙蓉·薇薇  阅读(560)  评论(0编辑  收藏  举报