需求产生场景:

     1、python的virtualenv虚拟环境非常的好用。
     2、saltstack作为运维自动化的一个重要组件也挺好用的。

但是:

     1、saltsatck最简便的是使用yum安装,结合的是linux-centos自带的python2.6版本。
     2、即便使用编译安装,也是在编译安装的python环境下

so,需求产生了:

     我想要在virtualenv环境下使用saltstack的api,发现非常蛋疼。两者无法整合到一起。
     为了解决这个痛点,用了半个下午的时间,参考saltstack的官方文档,整理了一个解决方案
 
 
废话不多说,直接上干货:
 

实现过程:

1、前置条件:

          操作系统:centos6.4 预备安装saltmaster
                          已经安装完毕的salt-minion服务器
          编译python:2.7.8 (安装了pip以及virtualenv)
          为了操作简便,默认在root用户下。
       ps:如果编译的python没有搞定的话,先整好环境。这里不多说,默认ok
 

2、操作步骤:

2.1:创建python虚拟环境:
               virtualenv /path/to/your/virtualenv
               source /path/to/your/virtualenv/bin/activate
          
2.2:安装salt
               #编译时将salt配置加入
               pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/salt/' salt
               mkdir -p /path/to/your/virtualenv/salt/etc/salt
               #将原有配置文件cp过来
               cp ./salt/conf/master ./salt/conf/minion /path/to/your/virtualenv/salt/etc/salt/
               修改master配置文件的"publish_port","ret_port",区别与现网运行的端口。
               publish_port: 5505
               ret_port: 5506
               
2.3:修改salt-minion客户端端口配置
               “master_port: 5506”
 
2.4:补充说明:
               如果你的salt-minion是之前存在的客户端,那么为了避免与之前的缓存冲突,需要删除之前的
            缓存文件:/etc/salt/pki    备份删除。
               如果master报错,也是这么策略,删除pki,重启即可。
 
2.5:启动-测试:
               salt-key -L
               salt-key -A
               salt  '*' test.ping
         
2.6:api测试demo:
               import salt.client
               client = salt.client.LocalClient()
               ret = client.cmd('*','test.ping')
               print ret
 
      以上。
      ps:基本上看着官方文档就能搞定。稍微麻烦点的是与之前的环境配合,不过跟着log也能随便解决。

python virtualenv 安装运行saltstack的更多相关文章

  1. python virtualenv环境运行django

    python virtualenv环境运行django 安装前准备 检查pip版本与python版本是否一致 [root@localhost bin]# whereis pip pip: /usr/b ...

  2. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED

    Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...

  3. python virtualenv安装说明

    环境说明: virtualenv安装: 第一步,创建目录code: 第二步,创建一个独立的Python运行环境,命名为venv: 新建的Python环境被放到当前目录下的venv目录. 第三步,有了v ...

  4. Python基础——安装运行

    Python是如何运行的? 像绝大多数编程语言一样,要在计算机上能够运行python程序,至少需要安装一个最小的Python包:一个Python解释器和支持的库. 安装Python 安装包下载:htt ...

  5. [Mac][Python][Virtualenv]安装配置和使用

    安装帮助文档安装VirtualEnv报错如下 tekiMacBook-Air:workspaces hbai$ source /usr/local/bin/virtualenvwrapper.sh / ...

  6. [bug] Python Virtualenv 安装失败:ERROR: Cannot uninstall 'filelock'.

    参考 https://my.oschina.net/gain/blog/4333100

  7. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  8. python虚拟环境virtualenv、virtualenv下运行IDLE、powershell 运行脚本由执行策略引起的问题

    一.为什么要创建虚拟环境: 应为在开发中会有同时对一个包不同版本的需求,创建多个开发环境就能解决这个问题.或许也会有对python不同版本的需求,这就需要使用程序来管理不同的版本,virtualenv ...

  9. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

随机推荐

  1. 【C编译器】MinGw安装与使用(调试问题待续)

    不想装vs2005之类的,想要一个轻量级的C语言编译器,希望将焦点放在如何写好代码上: 本人信奉:代码质量是靠设计和检视保证的,不是靠调试: 1.安装MinGW http://www.mingw.or ...

  2. docker之文件夹共享

    本文采用的是CoreOS操作系统 1.共享宿主机的目录给容器 docker run -d --name=test -v /opt/test:/usr/databases docker-test tes ...

  3. ACCESS --第一章

    一.ACCESS2007的安装 装完整版的office2007办公软件就集成了相应的ACCESS2007 二.主要组成 ACCESS由表.查询.报表.窗体.页.宏和模块组成 1.表 表是存储数据的对象 ...

  4. java异步式Socket响应数据获取方案

    项目中存在 云中央控制器需要使用多个Socket连接多个云终端控制器的需求. 由于终端数量大,就对整个中央控制器提出了并发的要求,然而获取Socket响应的过程是一个持续阻塞的过程,存在性能风险.而常 ...

  5. Pyhon环境搭建-window

    1.安装python3.4.3版本 地址:(64位)https://www.python.org/ftp/python/3.4.3/python-3.4.3.amd64.msi (32位)http:/ ...

  6. jquery中的$的特殊用法

    通过父级元素选取子元素, $('父元素选择器,子元素选择器')        $('子元素选择器',父元素jquery对象); 通过$创建代码片段 $('<div/>',{ 'class' ...

  7. 面试题---PHP

    1.PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言. 2.echo,print和print_r的区别: echo和print都可以做 ...

  8. jQuery中$.fn的用法示例介绍

    $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效,下面有个不错的示例,喜欢的朋友可以参考下 如扩展$.fn.abc(),即$.fn.abc()是对jquery ...

  9. C++ CreateThread 实例

    //ThreadBase.h#pragma once #include<windows.h> class CThreadBase { public: CThreadBase(void); ...

  10. SDWebImage

    SDWebImage 加载图片的流程 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImag ...