zoukankan      html  css  js  c++  java
  • python virtualenv 安装运行saltstack

    需求产生场景:

         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也能随便解决。
  • 相关阅读:
    [swustoj 1021] Submissions of online judge
    [swustoj 404] 最小代价树
    [swustoj 917] K-lucky-number
    [swustoj 183] 种树
    [LA 3887] Slim Span
    [ahu 1248] NBA Finals
    用js获取当前月份的天数
    WampServer
    jquery checkbox选中、改变状态、change和click事件
    为什么排版引擎解析 CSS 选择器时一定要从右往左解析?
  • 原文地址:https://www.cnblogs.com/liujian001/p/6127042.html
Copyright © 2011-2022 走看看