Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 2.18 KB

基于saltstack的webui的搭建使用halite.md

File metadata and controls

80 lines (54 loc) · 2.18 KB

salt的运维自动化,肯定不可能一直在终端执行命令去进行批量处理;salt本身提供了一个web ui,叫做halite。本质是在页面执行管理,后端使用的是saltstack api


搭建过程:

git clone https://github.com/saltstack/halite

克隆halite官方的源码

cd halite/halite

python genindex.py -C  # 生成index文件

安装salt-api,使用python的pip管理安装

首先安装pip管理

wget  http://python-distribute.org/distribute_setup.py

sudo python distribute_setup.py

wget  https://github.com/pypa/pip/raw/master/contrib/get-pip.py

sudo python get-pip.py

安装salt-api

pip install salt-api
pip install cherrypy

在master文件问添加:

rest_cherrypy:
 host: 10.10.3.191
 port: 8080
 debug: true
 static: /halite/halite
 app: /halite/halite/index.html
external_auth:
   pam:
     admin:
         - '*'
         - '@runner'
         - '@wheel'

启动:

#python server_bottle.py -d -C -l debug -s cherrypy
20140115_102828.079512 Bottle: Running web application server 'cherrypy' on 0.0.0.0:8080.
20140115_102828.080180 Bottle: CORS is disabled.
20140115_102828.080669 Bottle: TLS/SSL is disabled.
20140115_102828.081155 Bottle: Server options: 
{}
Bottle v0.12-dev server starting up (using CherryPyServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

debug模式 查看相关信息,可以得出是以0.0.0.0:8080端口启动的

直接salt-api -d启动

至此,halite搭建完成,可以通过http://localhost:8080去访问了

我这边是在服务器上面搭建的,线下不能直接访问http://localhost:8080,所以,添加到nginx进行转发

配置如下:

[root@sa10-007 halite]# cat /etc/nginx/conf.d/salt.api.conf 
server {
    listen 80;
    server_name 10.10.3.191;
    
    location / {
        proxy_pass http://0.0.0.0:8080;
    }
}

这样 我就可以在线下直接访问http://10.10.3.191:80 就可以看到halite的web界面了

只不过,好像官方的这个halite看起来很纠结,页面操作各种不爽,准备通过api自己写ui了