Saltstack学习笔记——安装Salt-API

环境

  • python >= 2.6 && <=2.7
  • pip
  • cherrypy 3.2.3
  • salt-api-0.8.4.1

需要注意的是很多问题都是因为各个软件版本引起的

安装pip

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

安装cherrypy

#不指定版本安装到3.6.0后面curl的时候会报 curl: (56) SSL read: errno -12263
pip install cherrypy==3.2.3

安装salt-api

#当前的版本是 0.8.4.1
pip install salt-api

配置自签名证书

cd /etc/pki/tls/certs
make testcert

#Enter pass phrase: 键入加密短语
#Verifying - Enter pass phrase: 确认加密短语
#/usr/bin/openssl req -utf8 -new -key /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt -set_serial 0
#Enter pass phrase for /etc/pki/tls/private/localhost.key: 再次输入相同的加密短语
#Country Name (2 letter code) [XX]:CN
#State or Province Name (full name) []:Fujian
#Locality Name (eg, city) [Default City]:Fuzhou
#Organization Name (eg, company) [Default Company Ltd]:
#Organizational Unit Name (eg, section) []:
#Common Name (eg, your name or your server's hostname) []:
#Email Address []:

cd ../private/
openssl rsa -in localhost.key -out localhost_nopass.key

#Enter pass phrase for localhost.key: 输入之前的加密短语

添加用户

#生产环境请勿使用弱口令
useradd -M -s /sbin/nologin saltapi
passwd saltapi

配置salt-api

mkdir -p /etc/salt/master.d/ 
cd /etc/salt/master.d/ 
touch eauth.conf
touch api.conf
#vi eauth.conf
external_auth:
  pam:
    saltapi:   #用户
      - .*     #该配置文件给予saltapi用户所有模块使用权限,出于安全考虑一般只给予特定模块使用权限
#vi api.conf
rest_cherrypy:
  port: 8888
  ssl_crt: /etc/pki/tls/certs/localhost.crt
  ssl_key: /etc/pki/tls/private/localhost_nopass.key

将salt-api加入服务

#下载alt-api的启动脚本,,在页面https://github.com/saltstack/salt-api/releases下载salt-api的source code tar.gz,启动脚本在解压包的这个位置./pkg/rpm/salt-api
cp salt-api /etc/init.d/salt-api #拷贝至init.d
chmod +x salt-api                #
service salt-api start           #启动服务
chkconfig salt-api on            #开机启动
service salt-master restart
service salt-api restart

验证服务

#获取token
curl -k https://192.168.181.15:8888/login -H "Accept: application/x-yaml" -d username='saltapi' -d password='password' -d eauth='pam'
 return:
 - eauth: pam   expire: 1419027555.6693039   perms:
   - .*   start: 1418984355.669301   token: ea5fc2131c88c185698e181cc82db380b06068ad user:saltapi

调用test.ping

curl -k https://192.168.181.15:8888/ -H "Accept: application/x-yaml" -H "X-Auth-Token: ea5fc2131c88c185698e181cc82db380b06068ad" -d client='local' -d tgt='*' -d fun='test.ping'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,186评论 19 139
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,623评论 6 427
  • map map就是将元素进行转换,变成另外的值。提供了一个转换函数func transform(value: T)...
    微微笑的蜗牛阅读 691评论 0 48
  • 我知道有一片草地 那里有一棵小树 荫蔽着一朵羞怯的花 那花很美丽 却不愿抬起头来 我知道那有一个乐园 那有人们鸟儿...
    朴piao阅读 242评论 0 1
  • 《一念红尘》 目录 昆仑墟最近发生了两件大事。 第一件,是我的师父墨渊上神收了第十八个弟子,青丘女君白凤九。 那一...
    翼如阅读 3,098评论 2 14