该平台是自己变学习python和django 边写的,不足之处,请各位不吝赐教,谢谢!
qq群:321596971 有兴趣交流的可以加一下^_^
本文出自 “venuxs” 博客,请务必保留此出处http://venuxs.blog.51cto.com/11763538/1792282
ATsystem 使用介绍 --saltstack web 管理平台
一、系统环境
centos6.4 x64 操作系统,python2.7.10 ,django1.8.1,mysql,saltstack2015.5.5-1(使用过程中 salt低版本有些功能不支持)
二、安装部署
1、先把mysql服务装上。
点击(此处)折叠或打开
-
yum -y install mysql-server mysql-devel mysql
点击(此处)折叠或打开
- [mysqld]
- character-set-server=utf8
- collation-server=utf8_general_ci
- [client]
- default-character-set=utf8
点击(此处)折叠或打开
- create database salt_sys character set utf8 collate utf8_general_ci;
点击(此处)折叠或打开
- wget
- tar -zxvf Python-2.7.10.tgz
- cd Python-2.7.10
- ./configure
- make&&makeinstall
- cd /usr/bin
- mv python python_bak
- ln -s/usr/local/bin/python /usr/bin/
3、安装pip工具。
在次之前先安装setuptools,下载setuptools安装
点击(此处)折叠或打开
- wget --no-check-certificate
- tar -zxvfsetuptools-20.2.2.tar.gz
- cd setuptools-20.2.2
- python setup.py install
点击(此处)折叠或打开
- wget --no-check-certificate
- tar -zxvfpip-8.0.2.tar.gz
- cd pip-8.0.2
- python setup.py install
- pip --version #查看pip的版本
4、使用pip安装所需要python库
在代码里面有包含软件的文本softin.txt,内容如下:
点击(此处)折叠或打开
- simplejson==2.5.0
- Django==1.8.4
- PyYAML==3.11
- celery==3.1.19 #测试安装的时候高于celery高于这个版本报错,目前没找到原因
- django-celery==3.1.17
- salt==2015.8.1
- tornado==4.3
- Jinja2==2.8
- msgpack-pure==0.1.3
- zmq==0.0.0
- pyzmq==15.1.0
- pycrypto==2.6.1
- MySQL-python==1.2.5
- #使用下面命令安装
- pip install -r softin.txt
首先把epel yum源配置好。
点击(此处)折叠或打开
- rpm -Uvh
- sed -i"s/https/http/g" /etc/yum.repos.d/epel.repo
- yum update
- yum install -y salt-master salt-minion salt-api
生成自签名证书(用于ssl)
生成自签名证书,过程中需要输入key密码及RDN
点击(此处)折叠或打开
- cd /etc/pki/tls/certs
- make testcert
- cd /etc/pki/tls/private/
点击(此处)折叠或打开
- openssl rsa -in localhost.key -out localhost_nopass.key
点击(此处)折叠或打开
- useradd -M -s/sbin/nologin salt
- echo"salt_pass" | passwd salt --stdin
进入/etc/salt/master.d目录
创建/etc/salt/master.d/eauth.conf 内容如下:
点击(此处)折叠或打开
-
external_auth:
-
pam:
-
salt:
-
- .*
-
- '@wheel'
- - '@runner'
点击(此处)折叠或打开
-
rest_cherrypy:
-
port: 8080
-
ssl_crt: /etc/pki/tls/certs/localhost.crt
- ssl_key: /etc/pki/tls/private/localhost_nopass.key
点击(此处)折叠或打开
- default_include:master.d/*.conf #去掉行首的#
点击(此处)折叠或打开
-
file_roots:
-
base:
- - /srv/salt
点击(此处)折叠或打开
- auto_accept: True #这样当客户端salt-minion配置完成后,salt-master就自动accept
点击(此处)折叠或打开
- keep_jobs: 24
- job_cache: True
点击(此处)折叠或打开
- service salt-master start
- servicesalt-api start
点击(此处)折叠或打开
- curl -k -H "Accept: application/x-yaml" -d username='salt' -d password='salt_pass' -d eauth='pam'
点击(此处)折叠或打开
-
return:
-
- eauth: pam
-
expire: 1463349349.815177
-
perms:
-
- .*
-
- '@wheel'
-
- '@runner'
-
start: 1463306149.815177
-
token: 4f26aa29ad6090ad1ddd51419de25a9d2aa65b78
- user: salt
使用git 下载程序到系统目录,这里我放在了/opt目录下
点击(此处)折叠或打开
- cd /opt
- git clone
点击(此处)折叠或打开
- mysql -uuser -p salt_sys < ./salt_sys.sql #这里使用到的用户名和密码根据自己设定的来
点击(此处)折叠或打开
- cp /opt/atsystem/nodegroup.conf /etc/salt/master.d/
点击(此处)折叠或打开
- [path]
- salt_root_path = /srv/salt
- file_path = /srv/salt
- salt_group_conf = /etc/salt/master.d/nodegroup.conf
- acc_key_path = /etc/salt/pki/master/minions
- pre_key_path = /etc/salt/pki/master/minions_pre
- den_key_path = /etc/salt/pki/master/minions_denied
- rej_key_path = /etc/salt/pki/master/minions_rejected
- [log]
- #salt远程执行命令的日志记录
- cmdlog = ./log/
- [id]
- #定义salt minion使用的ID,比如这里预定定义的有主机名:"hostname",主机sn序列号:"serial-number",主机的ip地址:"ipaddr"
- #根据你自己salt minion的配置来选择,我这里使用的ip地址来作为salt-minion的ID
- minion_id = ipaddr
- [salt]
- #salt-master主机的IP和api使用的端口,就是在上面api.conf配置的
- hosturl=
- user=salt
- password=salt_pass
- [mysql]
- #atsystem使用到的数据库信息
- host=localhost
- user=root
- password=mysql123
- dbname=salt_sys
切换到/opt/atsystem目录下执行,我这里开了三个窗口分别执行的
点击(此处)折叠或打开
- screen python manage.py runserver 0.0.0.0:8000 #启动web服务
- screen python manage.py celery worker --autoreload --loglevel=info #启动work来执行task
- screen python manage.py celery beat #启动beat把任务加入到队列当做给work执行
三、测试
使用web浏览器打开: 默认账号是admin 密码atsystem