ansible学习
Posted 奔跑de孩子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible学习相关的知识,希望对你有一定的参考价值。
下载python3.5安装包:
wget --no-check-certificate https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
解压到当前目录:
tar -zxvf Python-3.5.0.tgz
cd Python-3.5.0
./configure --prefix=/usr/local/python3.5 --enable-shared
make & make install
ln -s /usr/local/python3.5/bin/python3 /usr/bin/python3
此时运行python3命令的话会报错,缺少.so文件,我们需要进行如下操作:
cp -R /usr/local/python3.5/lib/* /usr/lib64/
ok!此时python3的基础环境已经安装完成!
为什么学习ansible ansible是Python开发的 所以安装pip 利用pip安装ansible
二、安装pip以及setuptools
毕竟丰富的第三方库是python的优势所在,为了更加方便的安装第三方库,使用pip命令,我们需要进行相应的安装。
1、安装pip前需要前置安装setuptools
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python3 setup.py build
python3 setup.py install
报错: RuntimeError: Compression requires the (missing) zlib module
我们需要在linux中安装zlib-devel包,进行支持。
yum install zlib-devel
需要对python3.5进行重新编译安装。
cd python3.5
make & make install
又是漫长的编译安装过程。
重新安装setuptools
python3 setup.py build
python3 setup.py install
2、安装pip
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3 setup.py build
python3 setup.py install
如果没有意外的话,pip安装完成。
测试:
我们使用pip安装一个python3第三方库: python3 -m pip install paramiko
纳尼!!!!又报错了!
ImportError: cannot import name \'HTTPSHandler\'
根据老衲多年的经验,应该是缺少openssl的开发环境,我们继续安装
yum install openssl-devel
继续重新编译安装python3.5
ok,我们终于完成了整个python3环境的安装。
安装ansible
python3 -m pip install ansible
简单介绍下 ansible有两个文件很重要
ansible.cfg :ansible执行需求的全局性、默认的配置文件
hosts:默认的主机清单文件
/usr/local/python3.5/bin/ansible --version
修改 默认配置文件
export ANSIBLE_CONFIG=/usr/local/python3.5/lib/python3.5/site-packages/ansible/galaxy/data/container_enabled/tests/ansible.cfg
ansilbe 优先级:
优先读取变量下的
ANSIBLE_CONFIG
没有做设置的话会读取当前执行ansible命令下有没有
./ansible,cfg
如果没有回去家目录
~/ansible.cfg
/etc/ansible/ansible.cfg
ansible的配置文件ansible.cfg常用的配置项梳理
1)inventory 该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 inventory = /root/ansible/hosts
2)library Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 library = /usr/share/ansible
3)forks 设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 forks = 5
4)sudo_user 这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 sudo_user = root //注意:新版本已经作了修改,如ansible2.4.1下已经为: default_sudo_user = root
5)remote_port 这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 remote_port = 22
6)host_key_checking 这是设置是否检查SSH主机的密钥。可以设置为True或False host_key_checking = False
7)timeout 这是设置SSH连接的超时间隔,单位是秒。 timeout = 20
8)log_path Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 log_path = /var/log/ansible.log 另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的
9)private_key_file 在使用ssh公钥私钥登录系统时候,使用
private_key_file=/path/to/file.pem
1)inventory 该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 inventory = /root/ansible/hosts 2)library Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 library = /usr/share/ansible 3)forks 设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 forks = 5 4)sudo_user 这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 sudo_user = root //注意:新版本已经作了修改,如ansible2.4.1下已经为: default_sudo_user = root 5)remote_port 这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 remote_port = 22 6)host_key_checking 这是设置是否检查SSH主机的密钥。可以设置为True或False host_key_checking = False 7)timeout 这是设置SSH连接的超时间隔,单位是秒。 timeout = 20 8)log_path Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 log_path = /var/mage Ansible学习3 ansible role实例
Ansible 学习总结—— Ansible 控制提权相关知识总结