闲来无聊,话说saltstack webui halite还一直没玩,于是就凑今天体验一把;很多尝鲜的同学都说halite的功能较少,而其也正符合其说明console,不过其UI我还是蛮喜欢的,个人觉得比较清新简洁、挺好下面就来安装体验一把~

前提:halite的版本只能大于salt的版本才能正常工作,以下内容只适用于CentOS,RHEL或者Fedora操作系统上。

一、安装

默认情况下安装python-halite只能安装CherryPy,如果你想使用其他的webserver,可以选择使用pip来安装你所选择的webserver

使用yum安装# yum install python-halite

使用pip安装

1. 安装pip# yum install python-pip

2. 安装halite# pip install -U halite

3. 选择安装你喜欢的webserver(cherrypy,paste,gevent)# pip install cherrypy

或者

# pip install paste

或者

# yum install python-devel

# yum install gcc

# pip install gevent

这里注意,因为salt使用的python2.6因此在CentOS6以下,安装python模块一般会被安装到python2.4中,所以这里一定要留意下,安装的webserver是否被正确安装到了python2.6而不是python2.4

二、配置halite权限

默认情况下,只需要开启runner组的配置,修改/etc/salt/master,取消注释或修改以下行:external_auth:                     -- 开启扩展认证系统

pam:                             -- 使用pam作为扩展的认证系统

coocla:                        -- 需要进行认证的系统用户名

- .*                         -- 认证通过后可以使用任何模块

- '@runner'                  -- 认证通过后可以使用runner

注意,在扩展的认证系统中,如果需要访问wheel modules 或者 runner modules,则必须使用@的语法,因此这里是@runner;而这里需要认证的用户则不允许是root,否则会认证失败,因为pam不允许认证root;因为Halite使用runner来获取所管理minoin的状态,因此访问runner是必须的。

创建用于登陆halite的系统用户# useradd coocla

# password coocla

三、配置Halite设置

需要在/etc/salt/master中配置halite的设置,halite支持CherryPy,Paste,Geventhalite:

level: 'debug'

server: 'cherrypy'

host: '0.0.0.0'

port: '8080'

cors: False

tls: True

certpath: '/etc/pki/tls/certs/localhost.crt'

keypath: '/etc/pki/tls/certs/localhost.key'

pempath: '/etc/pki/tls/certs/localhost.pem'halite:                          -- 表示开启halite

level:                         -- 日志等级,默认是info

server:                        -- 表示允许halite的webserver,支持cherrypy,paste,gevent,使用哪个填哪个

host:                          -- 顾名思义监听地址

port:                          -- 监听端口

cors:                          -- 是否开启cors跨域请求共享

tls:                           -- 是否使用TLS/SSL(https)加密访问

certpath:                      -- CA颁发的证书文件

keypath:                       -- 加密访问的私钥文件

pempath:                       -- 拥有证书和私钥的文件

四、一切配置妥当现在只需要重启salt-master即可

访问Http://IP:8080,即可访问到类似于下面的页面对于halite的使用,我想大家应该都可以搞定!