一、启用虚拟环境
路径可以放在需要运行虚拟环境的代码仓库目录
# 切换至对应需要开发模块的绝对路径下
cd /home/python/network_scripts/
# 初始化该项目的虚拟环境
python3 -m venv ansible-env
# 检查虚拟环境的目录是否存在
ls -al | grep ansible-network-env
二、激活对应python3开发项目的虚拟环境
# 激活需要开发的项目虚拟环境
source ansible-env/bin/activate
任意路径下deactivate,关闭虚拟环境
# 关闭虚拟环境
deactivate
虚拟环境装的Python3的三方库是不共享的,可以根据对应项目,去开发不同库版本的python代码了,无需再升级或者降低python3三方库的版本了
三、安装pipx包管理工具
pipx官方安装教程
根据官方文档提示,安装pipx包管理工具
- 检查pip3的版本信息
# 检查当前pip的版本信息
pip --version
# 若不满足大于19.0的条件,则需要手动升级pip3的版本
python3 -m pip install --upgrade pip
- 安装对应的软件包
pip install pipx
python3 -m pipx ensurepath
四、安装ansible软件包
ansible安装官方文档
在不同用户下的虚拟环境里安装时,需要注意配置pip的镜像源,推荐使用国内镜像源安装
检查是否有信赖的镜像源持久化配置
pip3 config list
终端没有返回值,说明没有配置
新创建一个.pip/目录,专门用来存放pip.conf配置文件
将root用户的家目录路径下的.pip/pip.conf文件拷贝至python用户的
这一步骤默认是你的云服务器上已经配置了持久化的镜像源
持久化配置的方法:
阿里云:
http://mirrors.aliyun.com/pypi/simple/
中国科技大学:
https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣:
http://pypi.douban.com/simple/
清华大学:
https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学:
http://pypi.mirrors.ustc.edu.cn/simple/
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
pipx install --include-deps ansible
安装ansible应用
显示完成,包含下列组件
五、配置免密登录
前置步骤还需要安装 openssh-clients这个包
推荐使用ed25519加密算法生成钥匙对
生成的钥匙对一路回车默认存放于家目录的.ssh/下
接下来使用ssh-copy-id把公钥传递给目标服务器进行授权认证
第一次连接的时候需要输入服务器密码,后续根据提示连接免密登录
后续还可以修改vi /etc/hosts文件添加主机ip主机hostname等持久化操作,这里不详细展开说明
安装额外的python库依赖
六、测试ansible ping通
前置步骤为根据需求创建对应的主机组清单,以及配置文件
通过ansible production --list-host 检测对应主机组清单
检查主机组清单是否能被正确读取
ansible production --list-host
ping通测试
ansible all -m ping
七、运行playbook DEMO
最终结果跑通,收工