ansible源码安装以及基础命令
一、安装前准备
1 下载包上传至/tmp/目录下
1) 网盘下载
链接:https://pan.baidu.com/share/init?surl=_NzCmi_iqn4-pZMCWVlmyA
提取码:86aw
2)网站下载
https://releases.ansible.com/ansible/
https://www.python.org/downloads/source/
其他python模块
2 安装依赖
cd /tmp/ansible 解压当前目录下的所有压缩包 for i in `ls`; do tar -xzvf ${i}; done 循环安装依赖 for i in gcc zlib-devel openssl-devel python-devel libffi-devel sshpass;do yum -y localinstall ${i}/*;done
二、安装python及python模块
如果安装过程报缺少python模块,请到该地址搜索模块并下载:https://pypi.org/
1 安装python3.8.1
mkdir /app cd Python-3.8.1 ./configure --prefix=/app/python3.8 make && make install 加入环境变量 vi /etc/profile export PATH=${PATH}:/app/python3.8/bin 使前面的配置生效 source /etc/profile 查看安装的python版本 python3 --version
2 安装python-setuptools模块
cd ../setuptools-42.0.2
python3 setup.py install
3 安装cryptography模块
cryptography模块需要:six,cffi两个模块,而cffi模块需要pycparser模块
3.1 安装cffi模块
A 安装pycparser模块
cd ../pycparser-2.19 python3 setup.py install
B 安装cffi模块
cd ../cffi-1.14.0
python3 setup.py install
3.2 安装six模块
cd ../six-1.14.0
python3 setup.py install
3.3 安装cryptography模块
cd ../cryptography-2.8
python3 setup.py install
4 安装PyYAML模块
PyYAML模块需要yaml模块
4.1 安装yaml模块
cd ../yaml-0.1.5
python3 setup.py install
4.2 安装PyYAML模块
cd ../PyYAML-5.1.2
python3 setup.py install
5 安装Jinja模块
Jinja模块需要MarkupSafe模块
5.1 安装MarkupSafe模块
cd ../MarkupSafe-1.1.1
python3 setup.py install
5.2 安装Jinja模块
cd ../Jinja2-2.10.3
python3 setup.py install
三、安装配置ansible
1 安装ansible
cd ../ansible-2.9.10
python3 setup.py install
2 配置ansible
2.1 创建ansible配置文件和目录
mkdir /etc/ansible/roles -p
touch /etc/ansible/hosts
2.2 新建ansible.cfg配置文件
vi /etc/ansible/ansible.cfg
[defaults] inventory=/etc/ansible/hosts roles_path=/etc/ansible/roles log_path=/var/log/ansible.log timeout = 10 host_key_checking=False sudo_user=root remote_port=22 remote_user=root
module_name=command
至此,ansible已安装配置完成,可用ansible --version查看一下版本信息以及配置
四、ansible基础命令
ansible-doc -l 列出当前所有可用的模块
ansible-doc -s 模块名 查看指定模块的帮助
ansible --list-hosts all 查看hosts文件里所有的主机
ansible --list-hosts 主机组名 查看hosts文件里指定主机组名下的所有主机
ansible 主机组名 -m 模块名 -a 'command' 远程在指定主机组名下的所有主机中执行命令
ansible -m ping ping hosts文件里的所有主机
ansible-playbook yaml剧本 执行剧本
ansible-playbook -C yaml剧本 测试剧本
ansible-playbook --syntax-check yaml剧本 测试剧本语法是否错误
ansible --version 查看ansible的版本信息