闲来无聊,话说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,Gevent

halite:
  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的使用,我想大家应该都可以搞定!


saltstack halite