Saltstack是基于Python开发的一套C/S架构,具备Puppet、Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高;使用号称世界上最快的消息队列ZeroMQ使得Saltstack能够秒级在数万台服务器上进行各种操作,而且使用RAS Key方式确认身份,传输采用AES加密,安全性能更高;
  Saltstack不仅仅是一款配置管理工具,还是一款做云计算和数据中心架构编排利器。目前Salt-cloud项目也已经合并到Saltstack主项目里,Saltstack已经支持Docker相关模块,在友好地支持各大云平台之后,配合Saltstack的Mine实现各云平台业务自动扩展。
  saltstack通信端口
    master端:4505
    minion端:4506
  saltstack的三种运行方式
    Local
    Master/minion
    Salt ssh
  saltstack三大功能:
    远程执行
    配置管理
    云管理

安装yum源:

[root@k8s_node1 ~]# yum install epel-release -y

服务端安装

yum install salt-master -y 

#centos6.x 启动
/etc/init.d/salt-master start #centos7.x 启动
systemctl start salt-master

客户端安装

yum install salt-minion -y

修改minion配置文件,指定到master

sed -i.bak 's/#master: salt/master: master_ip/g' /etc/salt/minion

启动

#centos6.x
/etc/init.d/salt-minion start #centos7.x
systemclt start salt-minion

master端

salt-key -A 命令接收所有客户端请求

使用salt-key查看建立连接情况

[root@k8s_master ~]# salt-key
Accepted Keys:
k8s_master
k8s_node1
k8s_node2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

使用salt-key -L命令查看所有key

[root@k8s_master ~]# salt-key -L
Accepted Keys:
k8s_master
k8s_node1
k8s_node2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

salt-key -a KeyName    #接受指定的证书
salt-key -a id      #接受单个id请求
salt-key -D #删除所有证书
salt-key -d KeyName #删除指定的证书
salt-key -d id      #删除单个id证书(客户端配置了id)

saltstack通过/etc/salt/pki/目录下面的配置文件的密钥进行通信,master端接受minion端后,会在/etc/salt/pki/minion/保存minion端的pub key,同时master端会将自己的公钥传输到minion端的目录/etc/salt/pki/minion/中。

客户端

如果配置文件被更改,客户端minion会自动停止服务终止与master端端通信;

  解决办法:在master端删除该主机,并在minion端将pki配置目录删除后重interface: 192.168.0.1 ##The local interface to bind to, must be an IP address.

配置文件详解

interfacec: master_ip        #监听地址
id: `hostname`            #客户端配置,服务器用来表示客户端的名称
publish_port: ##The network port to set up the publication interface.
user: root ##The user to run the Salt processes
ret_port: ##The port used by the return server, this is the server used by Salt to receive execution returns and command executions. 返回服务器使用的端口,这是Salt使用的服务器来接收执行返回和命令执行。
pidfile: /var/run/salt-master.pid ##Specify the location of the master pidfile.
root_dir: / ##The system root directory to operate from, change this to make Salt run from an alternative root.
conf_file: /etc/salt/master ##The path to the master's configuration file.
pki_dir: /etc/salt/pki/master ##The directory to store the pki authentication keys.(Default: /etc/salt/pki/master)
auto_accept: True ##这个设置将会使master自动接受所有发送公钥的minions
max_open_files: ##每一个minion连接到master,至少要使用一个文件描述符,如果足够多的minion连接到master上,你将会从控制台上看到salt-master crashes:Too many open files (tcp_listener.cpp:335) Aborted (core dumped)
            默认值这个值取决于ulimit -Hn的值,即系统的对打开文件描述符的硬限制
            如果你希望重新设置改值或者取消设置,记住这个值不能超过硬限制,提高硬限制取决于你的操作系统或分配,一个好的方法是internet找到对应操作系统的硬限制设置
worker_threads: ##启动用来接收或应答minion的线程数。如果你有很多minion,而且minion延迟你的应答,你可以适度的提高该值.
cachedir ##默认值:/var/cache/salt这个目录是用来存放缓存信息,特别是salt工作执行的命令信息
sock_dir    ##默认值:/tmp/salt-unix指定unix socket主进程通信的socket创建路径 open_mode    ##默认值:Falseopen_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True
autosign_file ##默认值:/etc/salt/autosign.conf如果autosign_file的值被指定,那么autosign_file将会通过该输入允许所有的匹配项,首先会搜索字符串进行匹配,然后通过正则表达式进行匹配。这是不安全的 client_acl_blacklist
  默认值:{}
  黑名单用户或模块
  这个例子表示所有非sudo用户以及root都无法通过cmd这个模块执行命令,默认情况改配置是完全禁用的 file_recv 默认值:False ##允许minions推送文件到master上,这个选项默认是禁用的,出于安全考虑

saltstack安装与配置的更多相关文章

  1. SaltStack 安装及配置认证

    一.SaltStack 安装 SaltStack 是基于 Python 开发的,也是基于 C/S 架构,通过服务端 ( master ) 控制多台客户端 ( minion ) 实现批量操作这里我们使用 ...

  2. SaltStack安装及配置

    1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...

  3. saltstack安装和配置

    [root@web9 salt]# vi filetest.sls //ADD file_test: file.managed: - name: /tmp/lulu.com - source: sal ...

  4. SaltStack 安装配置 centos7

    参考文档 http://docs.saltstack.cn/contents.html 快速安装 初始配置 控制端master配置 # vim /etc/salt/master interface: ...

  5. saltstack安装配置及常用命令

    1.salt安装及配置详解 https://www.cnblogs.com/lgeng/p/6567424.html centos7配置: https://www.jianshu.com/p/4c91 ...

  6. saltstack安装配置(yum)

    主机规划: (主)master:192.168.25.130 (从)minion:192.168.25.131     192.168.25.132 1.yum安装: 服务端:安装master yum ...

  7. SaltStack安装配置

    一.环境准备:操作系统CentOS Linux release 7.3.1611master ip:192.168.1.180minion ip:192.168.1.183设置server(maste ...

  8. saltstack安装配置(syndic)

    syndic是saltstack用来做集群部署的,一般结构如图: syndic是一个特殊的minion,syndic类继承于minion类,syndic可以看作一个代理,只做数据传递. CentOS上 ...

  9. SaltStack安装篇

    一.基础介绍1.简介 salt 是一个基础平台管理工具 salt是一个配置管理系统,能够维护预定于状态的远程节点 salt是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 2.salt的核 ...

随机推荐

  1. 自己搭建的一个react脚手架

    包括了: react.react router(v4), webpack(v4),echarts, google的组件库material ui, 后期会加上redux但是这些做中小型系统已经够了,de ...

  2. SVN解决冲突

    SVN冲突出现场景 如今是一个团结协作的时代,开发一个系统,往往会多人协作共同完成.版本管理是必不可少的,常用的软件有Git,SVN等.今天说一下,SVN管理版本时,如果出现冲突后,如何快速解决冲突. ...

  3. MySQL存储和获取数据

    ---恢复内容开始--- 一.MySQL存储引擎? 1.引擎定义 存储引擎其实就是如何存取数据,如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系型数据苦中数据是以表格的形式,所 ...

  4. nodefs模块的使用demo

    为什么要使用递归?因为stat本身就是一个异步的函数所有存在异步问题不能够进行循环遍历. 在使用该种方法时候需要注意的一点是必须要在箭头标记处进行数据数组的存取.否则会由于异步问题导致输出空或者其他问 ...

  5. Docker 方式运行 sonarqube

    From 平台测试部同事的 ppt 感谢. 拉取镜像 docker pull postgres docker pull sonarqube 运行镜像 docker run --name db --re ...

  6. CSS 范围选择器(自编)

    选择第一个到第六个li元素ul li:nth-child(n+3):not(:nth-child(n+6)){} 选择第二个到最后一个ul li:nth-child(2)~li{} 选择除了第一个和最 ...

  7. 关于gzip zgrep zcat 的使用

    最近由于重构代码,要判断很多接口是否还在使用,然后就要从现在已有日志里面去找 是否还有调用.我很疑惑,如果要一个一个文件从文件系统里面拷贝出来然后再使用grep cat vi 等方法去查找该有多麻烦. ...

  8. JIRA & GitHub

    JIRA & GitHub https://confluence.atlassian.com/adminjiracloud/connect-jira-cloud-to-github-81418 ...

  9. Java微信二次开发(五)

    消息加密 需要到入库:commons-io-2.4.jar,commons-codec-1.9.jar(在官网的Java微信加密demo下) 第一步:访问https://mp.weixin.qq.co ...

  10. codeforces620A

    Professor GukiZ's Robot CodeForces - 620A 机器人很好玩 一开始在(x1,y1) 最后在(x2,y2) 每秒钟内横坐标最多变化1(也可以不变化)纵坐标也是 问最 ...