python saltstack web_ATsystem   --saltstack web 管理平台

该平台是自己变学习python和django 边写的,不足之处,请各位不吝赐教,谢谢!

一、系统环境

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

配置my.cnf 文件[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

[client]

default-character-set=utf8

登陆mysql创建atsystem使用的数据库create database salt_sys character set utf8 collate utf8_general_ci;

2、编译安装python2.7.10版本,并设置环境变量。

wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz

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 https://pypi.python.org/packages/source/s/setuptools/setuptools-20.2.2.tar.gz --no-check-certificate

tar -zxvfsetuptools-20.2.2.tar.gz

cd setuptools-20.2.2

python setup.py  install

下载安装pipwget https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz --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

5、安装saltstack。

首先把epel yum源配置好。rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

sed -i"s/https/http/g"  /etc/yum.repos.d/epel.repo

yum update

yum install -y salt-master salt-minion salt-api

6、配置salt-api。

生成自签名证书(用于ssl)cd  /etc/pki/tls/certs

生成自签名证书,过程中需要输入key密码及RDNmake testcert

cd /etc/pki/tls/private/

解密key文件,生成无密码的key文件, 过程中需要输入key密码,该密码为之前生成证书时设置的密码openssl rsa -in localhost.key -out localhost_nopass.key

创建用于salt-api的用户useradd -M -s/sbin/nologin salt

echo"salt_pass" | passwd salt --stdin

7、配置salt eauth文件和master配置文件。

进入/etc/salt/master.d目录

创建/etc/salt/master.d/eauth.conf 内容如下:external_auth:

pam:

salt:

- .*

- '@wheel'

- '@runner'

创建/etc/salt/master.d/api.conf 内容如下:rest_cherrypy:

port: 8080

ssl_crt: /etc/pki/tls/certs/localhost.crt

ssl_key: /etc/pki/tls/private/localhost_nopass.key

配置salt-master 主配置文件/etc/salt/masterdefault_include:master.d/*.conf     #去掉行首的#

配置saltstack 文件管理主目录,并在系统中建立/srv/salt目录,这些文件可以这里通过web界面分发到客户机。file_roots:

base:

- /srv/salt

打开自动接受客户端认证auto_accept: True          #这样当客户端salt-minion配置完成后,salt-master就自动accept

打开cache保留时间,因为该系统后台有异步任务在执行,会产生很多jobs,导致磁盘inodes 耗尽,系统会出现401访问错误,如果磁盘小于cache所在分区小于20G,最好小于24小时)keep_jobs: 24

job_cache: True

启动salt-master,salt-api服务,启动salt-minion方便做测试service salt-master start

servicesalt-api start

8、测试salt-api是否正常curl -k https://192.168.1.110:8080/login -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

9、部署atsystem管理系统。

使用git 下载程序到系统目录,这里我放在了/opt目录下cd /opt

git clone https://git.oschina.net/venuxs/atsystem.git

导入数据库数据,atsystem目录下有salt_sys.sql 文件。mysql -uuser -p salt_sys 

配置salt-master 的group配置文件,把atsystem目录下的nodegroup.conf 放到/etc/salt/master.d下,然后重启以下satl-master服务,加载nodegroup.conf配置文件cp /opt/atsystem/nodegroup.conf /etc/salt/master.d/

配置atsystem的配置文件sys.conf,[path]和[log]节点可以不用改,[id]和[salt]节点根据自己的环境和配置来修改。[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

10、启动atsystem服务

切换到/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浏览器打开: http://ip/8000  默认账号是admin  密码atsystem

##使用文档待续....................

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值