序言

  最近在使用salt-api做主机批量管理部署,整理一下文档。之前使用saltstack 多用于命令行管理,自己做web版的自动化管理平台时,发现命令行的些许局限性,接触到salt-api,找到了替代方式。本文使用的saltstack 版本是2018.3.0最新版本,这个版本中官方做了更多python3的支持,使用utf-8,修补了许多与文件I/O和str/bytes不匹配的问题。之前在使用salt时都是用的Python2版本,现在使用的架构是python3版本的,毕竟未来python3才是趋势。所在在此探讨下python3使用saltstack以及salt-api的一些方式方法。

 

系统环境:

  CentOS7 + python3.6 + saltstack2018.3.0

 

Centos7 Python2升级Python3

# 首先安装python3
# 可以不安装Python3, 默认安装py3版本的salt,它会自己安装一个python3.4版本,所有的salt操作都是在这个python3.4版本上运行的,只不过我自己的项目需要python3,所以自己安装了一个。特此说明

    1. tar zxvf Python-3.6.1.tgz   
    2. cd  Python-3.6.1        
    3. ./configure
    4. make
    5. make install
    6. mv  /usr/bin/python /usr/bin/python2 # 如果是软连接,可以直接删除
    7. ln -s /usr/local/bin/python3.6 /usr/bin/python
    8. vim /usr/bin/yum   # 修改Yum,使yum依然有效,yum依靠老版本的python
    9. #!/usr/bin/python 修改为#!/usr/bin/python2
        
# 修改完/usr/bin/yum 依然还有问题,可以尝试修改/usr/libexec/urlgrabber-ext-down的文件python抬头

# 使用Python3直接启动salt,因为默认环境已经切换的python3, 所以直接启动即可

 

 

saltstack 安装:

# 更新yum
yum update

# Centos7 - Python3 - salt 安装源
yum install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest-2.el7.noarch.rpm 

yum clean expire-cache
# 安装必要软件(mariadb是mysql,用于存储salt命令执行结果和jobid,可不安装)
yum -y install mariadb mariadb-devel mariadb-server wget  python-devel gcc c++ make openssl openssl-devel passwd libffi libffi-devel
# 安装salt
yum install salt-master salt-minion salt-ssh salt-syndic salt-cloud salt-api

# Centos7/6  -Python2 安装源
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm

 

# yum install salt-master salt-minion salt-ssh salt-syndic salt-cloud salt-api

===================
salt-api
salt-cloud
salt-master
salt-minion
salt-ssh
salt-syndic
-----------------------------------
libsodium 
libtomcrypt
libtommath
openpgm 
python34
python34-PyYAML
python34-backports_abc
python34-cherrypy
python34-crypto
python34-jinja2
python34-libcloud 
python34-libs
python34-markupsafe
python34-msgpack
python34-psutil
python34-pycurl
python34-setuptools 
python34-six
python34-tornado
python34-zmq
salt
zeromq 
yum 安装的依赖包

相关文章: