zoukankan      html  css  js  c++  java
  • SaltStack:salt-api配置 -- 2017年4月26日

    salt-api是Salt上的模块接口,提供各种各样的进入点去运行Salt系统。它可以启动和管理多个接口,允许REST API与XMLRPC、Websocket API共存
    1、在salt-master节点安装salt-api
    yum install - y salt-api  或者 pip install salt-api
     
    2、生成自签名证书(用于ssl)cd /etc/pki/tls/certs
    # 生成自签名证书, 过程中需要输入key密码及RDNs
    make testcert
     
    如果出现以下提示,删除/etc/pki/tls/private下的localhost.key即可
     
    cd /etc/pki/tls/private/
     # 解密key文件,生成无密码的key文件, 过程中需要输入key密码,该密码为之前生成证书时设置的密码
      openssl rsa -in localhost.key -out localhost_nopass.key
     
    3、创建用于salt-api的用户
    useradd -M -s /sbin/nologin saltapi
    echo "saltapi" | passwd saltapi --stdin
    出现passwd: all authentication tokens updated successfully.提示,则密码设置成功
     
    4、在/etc/salt/master or master.d中添加配置信息
    [root@localhost scripts]# cat /etc/salt/master.d/api.conf
    rest_cherrypy:
      port: 8000
      ssl_crt: /etc/pki/tls/certs/localhost.crt
      ssl_key: /etc/pki/tls/private/localhost.key
    [root@localhost scripts]# cat /etc/salt/master.d/eauth.conf
    external_auth:
      pam:
          saltapi:
               - .*
               - '@wheel'  #wheel相关命令权限
               - '@runner' #runner相关命令权限
               - '@jobs'
     
    5、重启salt-master 和 salt-api
    systemctl restart salt-master
    systemctl restart salt-api
     
    6、验证安装
    $ salt -a pam '*' test.ping
    输入配置的用户名 密码, 成功后, eauth.conf配置正确。
     
     
    登录:
    curl -k http://172.16.129.99:8000/login -H "Accept: application/x-yaml"  -d username='saltapi'  -d password='saltapi'  -d eauth='pam'
    显示全部minion key:
    curl -k http://172.16.129.99:8000/ -H "Accept: application/x-yaml" -H "X-Auth-Token: d02075a992548a8b866e26cdd90a1b82dbe8355d" -d client='wheel' -d fun='key.list_all'
    执行cmd.run命令:
    curl -k http://172.16.129.99:8000/ -H "Accept: application/x-yaml" -H "X-Auth-Token: 570e294f87bbc69749ff55c740d99c889ea800f4" -d client='local' -d tgt='*' -d fun='test.ping'
     
     
    配置期间踩的坑:
    出现问题的原因:
    (1)添加用户的密码没有设置正确,要出现passwd: all authentication tokens updated successfully提示,才是正确的
    (2)配置之后要修改配置文件cat /etc/salt/master.d/eauth.conf,在pam下添加用户名称,和用户的权限
    (3)配置之后要重启salt-master和salt-api
     
    出现问题的原因:
    (1)https替换为http
    (2)ip为配置salt-api的机器ip
     
  • 相关阅读:
    Linux 磁盘管理
    Linux 特殊权限及if语句
    Linux find命令
    MySQL索引知识介绍
    MySQL库表设计小技巧
    教你用SQL实现统计排名
    Truncate用法详解
    utf8字符集下的比较规则
    关于Aborted connection告警日志的分析
    MySQL DDL详情揭露
  • 原文地址:https://www.cnblogs.com/jingbostar/p/6773377.html
Copyright © 2011-2022 走看看