闲来无聊,话说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的使用,我想大家应该都可以搞定!