ansible运维自动化工具

ansible分为管理主机和托管主机

安装管理主机:

一、安装需要的工具。

yum install -y make automake autoconf gcc gcc-c++ libtools python-dev python-setuptools pip

二、下载ansible的最新版本

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

三、编译&&安装

cd ansible
make
make install

报错处理1:

File "packaging/release/versionhelper/version_helper.py", line 9, in <module>     from packaging.version import Version, VERSION_PATTERN

处理方法:

pip install packaging

报错处理2:

Cannot uninstall 'pyparsing'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

处理方法:

pip install packaging --ignore-install

四、配置文件

两个核心文件:ansible.cfg和hosts文件,默认都存放在/etc/ansible目录下。

ansible.cfg:主要设置一些ansible初始化的信息,比如日志存放路径、模块、插件等配置信息

hosts:机器清单,进行分组管理

拷贝配置文件至指定目录

mkdir /etc/ansible
cp -r examples/* /etc/ansible/

配置文件介绍:

[defaults]   --->通用默认配置

# some basic default values...

inventory      = /etc/ansible/hosts     这个是默认库文件位置,脚本,或者存放可通信主机的目录
#library        = /usr/share/my_modules/   Ansible默认搜寻模块的位置
remote_tmp     = $HOME/.ansible/tmp   Ansible 通过远程传输模块到远程主机,然后远程执行,执行后在清理现场.在有些场景下,你也许想使用默认路径希望像更换补丁一样使用
pattern        = *    如果没有提供“hosts”节点,这是playbook要通信的默认主机组.默认值是对所有主机通信
forks          = 5    在与主机通信时的默认并行进程数 ,默认是5d
poll_interval  = 15    当具体的poll interval 没有定义时,多少时间回查一下这些任务的状态, 默认值是5秒
sudo_user      = root   sudo使用的默认用户 ,默认是root
#ask_sudo_pass = True   用来控制Ansible playbook 在执行sudo之前是否询问sudo密码.默认为no
#ask_pass      = True    控制Ansible playbook 是否会自动默认弹出密码
transport      = smart   通信机制.默认 值为’smart’。如果本地系统支持 ControlPersist技术的话,将会使用(基于OpenSSH)‘ssh’,如果不支持讲使用‘paramiko’.其他传输选项包括‘local’, ‘chroot’,’jail’等等
#remote_port    = 22    远程SSH端口。 默认是22
module_lang    = C   模块和系统之间通信的计算机语言,默认是C语言

 

参考链接:

https://blog.51cto.com/lixcto/1431247

https://blog.csdn.net/learner198461/article/details/83444187

https://www.cnblogs.com/LuisYang/p/5960660.html

posted @ 2019-03-05 14:04  噔噔蹬蹬  阅读(586)  评论(0编辑  收藏  举报