白话ansible-runner--1.环境搭建
最近在Windows10上的项目需要使用到ansible API调用,参考 本末大神 推荐ansible API用官网封装的ansible-runner开发比较友好,ansible-runner是ansible官方团队维护的项目,不用担心项目落后
本人使用的Python版本是3.7,pycharm也是在Windows10上,习惯了win10暂时不想用Ubuntu虚拟机,于是在WSL中安装了Ubuntu18和python3.7,再安装ansible和ansible-runner。
注:pycharm2018.3后已经支持使用WSL中的python解释器
WSL支持python3自带的venv模块创建虚拟环境
自行在Windows10下安装WSL
切换apt源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.ori
# 编辑 /etc/apt/sources.list ,以下为编辑完内容
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
sudo apt update
安装ansible
apt安装
先用apt安装,此时ansible安装在python2.7下,然后再卸载用pip安装,直接用pip安装,安装后不能使用(ssh可以连接ansible不能ping通),尝试多种方法还是如此,原因不明,后来测试先用apt安装卸载之后,用pip安装在python3.7之下可以使用,如果不想这么麻烦可以试试直接用pip安装,如果不可用再按照此方法,实际上在别的电脑是可以直接用Python3.7直接安装使用的,可能是WSL的稳定性问题,刚好我遇到了这种情况。
sudo add-apt-repository ppa:ansible/ansible-2.8
sudo apt-get update
sudo apt install ansible
# 删除仓库
sudo add-apt-repository -r ppa:ansible/ansible-2.8
# 测试使用完毕之后卸载
sudo apt remove ansible
WSL下Ubuntu18安装Python3.7
# 安装python依赖
sudo apt-get install build-essential checkinstall
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar --no-same-owner -Jxf Python-3.7.0.tar.xz
mkdir -p /usr/local/python3
cd ./Python-3.7.0
sudo ./configure --prefix=/usr/local/python3/ --enable-optimizations
sudo make
sudo make install
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
# 编辑添加 /etc/profile 以下内容
# python3 env
export PATH=$PATH:/usr/local/python3/bin/
export PATH
sudo source /etc/profile
修改pip源
mkdir ~/.pip
cat > ~/.pip/pip.conf <<EOF
[global]
# 清华镜像源
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
pip安装在python3.7下
sudo pip install ansible==2.8.7
sudo mkdir /etc/ansible
cd /etc/ansible
wget https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg
wget https://raw.githubusercontent.com/ansible/ansible/devel/examples/hosts
sudo mkdir roles
pip安装ansible-runner
安装ansible-runner最新版1.4.4
sudo pip install ansible-runner==1.4.4
mitogen插件安装,注意,经测试ping,在WSL下ping失败率很高,不建议使用
mitogen是可以极大提高ansible执行速度的插件,但最新mitogen不支持ansible2.9.x
# 参考 https://habr.com/en/post/453446/
pip3 install mitogen
# 修改配置文件 /etc/ansible/ansible.cfg
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/local/python3/lib/python3.7/site-packages/ansible_mitogen/plugins/strategy
优化配置
gathering = smart
fact_caching = jsonfile
fact_caching_connection = /tmp/facts_cache
ssh_args = -C -o ControlMaster=auto -o ControlPersist=3600s
control_path = /tmp/ansible-ssh-%%h-%%p-%%r
pipelining = True
sftp_batch_mode = True
优化ansible配置和配置hosts之后,测试连接和查看版本
最后放几张WSL下Ubuntu18使用ansible报错截图
这些报错是因为先用pip3.7安装,安装之后一直ping不通,其中原因至今还没想明白,先用apt安装就可以使用
mitogen插件报错
白话ansible-runner--1.环境搭建的更多相关文章
- 【Ansible】ansible容器学习环境搭建
想要学习ansible,只有一个节点肯定是不行的,而搭建虚拟机又是一件非常费时费力费资源的事情,所以通过docker 快速搭建一个容器学习环境是一个不错的选择 1. 了解ansible部署 1.1 需 ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- .Net Core 系列:1、环境搭建
前言: 2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. .NET Core是微软在两年前发起的 ...
- 分布式搜索ElasticSearch单机与服务器环境搭建
从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...
- 【Android测试】【第十八节】Espresso——环境搭建
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5604642.html 前言 首先还是老规矩,看看官方文档吧 ...
- UiAutomator环境搭建及详细操作
一.环境搭建 1.1 必备条件 JDK SDK(API高于15) Eclipse(安装ADT插件) ANT(用于编译生成的jar) 安装JDK并添加环境变量 1.2 详细步骤 1.安装JDK并添加环境 ...
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...
- .Net Core 环境搭建
.Net Core 系列:1.环境搭建 前言: 2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. ...
- Omi原理-环境搭建
环境搭建 Omi框架使用 Webpack + ES6 的方式去开发:使用karma+jasmine来作为Omi的测试工具. Karma介绍 Karma是一个基于Node.js的JavaScript测试 ...
- 学习Spark——环境搭建(Mac版)
大数据情结 还记得上次跳槽期间,与很多猎头都有聊过,其中有一个猎头告诉我,整个IT跳槽都比较频繁,但是相对来说,做大数据的比较"懒"一些,不太愿意动.后来在一篇文中中也证实了这一观 ...
随机推荐
- IdentityServer4网页(单点)登陆入门
前言 本篇说说ids中的网页登陆以及单点登陆的大致原理,主要是以基本跑通为目的,下一篇开始会详细说明集成ids网页登陆原理. 最好先熟悉以下知识: asp.net core asp.net core的 ...
- py_二分查找
''' 查找:在一些数据元素中,通过一定的方法找出与关键字相同元素的过程, 列表查找:从列表中查找指定元素 输入:列表.待查找元素 输出:元素下标(未找到元素时一般返回None或-1) 内置列表查找函 ...
- Qt 最简单的多线程方法QtConcurrent::run()
Qt 最简单的多线程方法QtConcurrent::run()(转载) 最近编写了一个软件,没有考虑多线程的问题,编好以后,软件在执行计算的时候,鼠标响应有时候会延迟,但是完全能用,考虑到后续随着计算 ...
- 归纳从文件中读取数据的六种方法-JAVA IO基础总结第2篇
在上一篇文章中,我为大家介绍了<5种创建文件并写入文件数据的方法>,本节我们为大家来介绍6种从文件中读取数据的方法. 另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文 ...
- HttpServletRespnse 对象 相关基本应用
HttpServletRespnse 对象相关基本应用 向浏览器输出数据 getOutputStream() @Override protected void service(HttpServletR ...
- 使用OpenCV和Python构建自己的车辆检测模型
概述 你对智慧城市的想法感到兴奋吗?如果是的话,你会喜欢这个关于建立你自己的车辆检测系统的教程的 在深入实现部分之前,我们将首先了解如何检测视频中的移动目标 我们将使用OpenCV和Python构建自 ...
- windows版redis报错:本地计算机上的Redis服务启动后停止
解决 1.如果需要临时启动Redis 使用命令:redis-server.exe redis.windows.conf --maxheap 200m 说明:200m是指定最大堆内存是200m, ...
- HDU—2021-发工资咯(水题,有点贪心的思想)
作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵 但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每 ...
- Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计
自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...
- 软件开发流变史:从瀑布开发到敏捷开发再到DevOps
作为在20世纪70年代.80年代盛极一时的软件开发模型,瀑布模型通过制定计划.需求分析.软件设计.程序编写.软件测试.运行维护等6个流程将整个软件生命周期衔接起来.这6个流程有着严格的先后次序之分,只 ...