saltstack安装及详解

官方指南

https://docs.saltstack.com/en/2016.11/topics/installation/rhel.html#installation-rhel-repo

要求

 版本 20150510 

安装方式

yum 安装
  • 设置阿里yum源
 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  • 安装epel
yum install -y epel-release
  • 安装指定salt的版本
yum install -y salt-minion-2015.5.10-2.el7.noarch

关于版本查找,请搜阿里源
https://opsx.alibaba.com/mirror?lang=zh-cn

手动安装
 salt 官网下载 20150510的客户端包
修改salt配置
    vi /etc/salt/minion
    master: 192.168.6.23 # master ip
    id: 192.168.6.24 #客户端ip 
    root_dir: /
    pki_dir: /etc/salt/pki/minion
    ipc_mode: ipc
    multiprocessing: False
启动salt-minion
 systemctl start salt-minion

RHEL/CentOS下安装SaltStack

对于Centos和RedHat用户,使用yum安装时最直接和快捷的。首先需要安装EPEL仓库。

   yum -y install epel-release
Salt Master安装
[root@master ~]#yum install -y salt-master python-setproctitle

Salt Master启动
[root@master ~]#/etc/init.d/salt-master start
或
[root@master ~]#systemctl start salt-master

Salt Master加入开机启动
[root@master ~]# chkconfig salt-master on
或
[root@master ~]# systemctl enable salt-master

Salt Minion安装
[root@minion ~]#yum install -y salt-minion

Salt Minion 启动
[root@minion ~]#/etc/init.d/salt-minion start
或
[root@minion ~]#systemctl start salt-minion

Salt Minion 加入开机启动
[root@minion ~]#chkconfig salt-minion on
或
[root@minion ~]#systemctl enable salt-minion

服务端日志
[root@master ~]# tail -f /var/log/salt/master

客户端日志:
[root@minion ~]# tail -f /var/log/salt/minion

Ubuntu下安装SaltStack

添加salt仓库
sudo add-apt-repository ppa:saltstack/salt     
sudo apt-get update    

安装master
sudo apt-get install salt-master    

安装minion
sudo apt-get install salt-minion

Salt配置文件

Salt Master配置

Master端的配置是修改/etc/salt下master配置文件。以下是Master端常用的配置。

interface:  指定bind 的地址(默认为0.0.0.0)
publish_port:  指定发布端⼝(默认为4505)
ret_port:  指定结果返回端⼝,  与minion配置⽂件中的master_port对应(默认为4506)
user: 指定master 进程的运⾏⽤户,  如果调整,  则需要调整部分目录的权限(默认为root)
timeout:  指定timeout时间,  如果minion规模庞⼤或⺴络状况不好,建议增⼤该值(默认5s)
keep_jobs:  默认情况下, minion 会执⾏结果会返回master, master会缓存到本地的cachedir ⺫录,  该参数指定缓存多⻓时间,  以供查看之前的执⾏结果,  会占⽤磁盘空间(默认为24h)
job_cache: master 是否缓存执⾏结果,  如果规模庞⼤(超过5000台),  建议使⽤其他⽅式来存储jobs,  关闭本选项(默认为True)
file_recv :  是否允许minion传送⽂件到master 上(默认是Flase)
file_roots: 指定file server⺫录,  默认为:
file_roots:    
   base:    
    - /srv/salt     
pillar_roots :  指定pillar ⺫录,  默认为:
pillar_roots:     
  base:     
    - /srv/pillar     
log_level:  执⾏⽇志级别,  ⽀持的⽇志级别有'garbage', 'trace', 'debug', info', 'warning', 'error', ‘critical ’ ( 默认为’warning’)

Salt Minion配置

Minion端配置非常简单,一般只需要修改两个配置即可。

[root@minion ~]# vim /etc/salt/minion
master: 192.168.56.111 (修改master为master的IP地址)
id: (客户端的id。默认不设置会取客户端的FQDN主机名)

Minion常用配置
master: 指定master 主机(默认为salt)
master_port: 指定认证和执⾏结果发送到master 的哪个端⼝,  与master 配置⽂件中的ret_port 对应(默认
为4506)
id:  指定本minion的标识. salt内部使⽤id 作为标识(默认为主机名)
user: 指定运⾏minion的⽤户.  由于安装包,启动服务等操作需要特权⽤户,  推荐使⽤root( 默认为root)
cache_jobs : minion 是否缓存执⾏结果(默认为False)
backup_mode:  在⽂件操作(file.managed 或file.recurse) 时,  如果⽂件发⽣变更,指定备份⺫标.  当前有效
的值为minion, 备份在cachedir/file_backups⺫录下,  以原始⽂件名称加时间戳来命名(默认为Disabled)
providers :  指定模块对应的providers, 如在RHEL系列中, pkg对应的providers 是yumpkg5
renderer: 指定配置管理系统中的渲染器(默认值为:yaml_jinja )
file_client :  指定file clinet 默认去哪⾥(remote 或local) 寻找⽂件(默认值为remote)
loglevel:  指定⽇志级别(默认为warning)
tcp_keepalive : minion 是否与master 保持keepalive 检查, zeromq3 以下版本存在keepalive bug,会导致某些情况下连接异常后minion⽆法重连master. 建议有条件的话升级到zeromq 3以上版本(默认为True)

SaltStack认证

Salt的数据传输是通过AES加密的,Master和Minion之间在通信之前,需要进行认证。通过认证的方式保证安全性,完成一次认证后,Master就可以自由的控制Minion来完成各项工作了。了解了认证的详细有助于我们在日常管理中管理Minion,已经及时处理问题。

  1. minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。
  2. master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pemmaster.pub。在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key, 客户端会保存一份master的public key,在/etc/salt/pki/minion_master.pub
  3. 通过两个步骤的验证,master就能对minion发送指令了。
Master端Key认证

在上面一个小节已经提到了Master与Minion的认证方式,只有Master接受了Minion的Key后,才能进行管理。具体的认证命令为salt-key,常用的有如下命令。

-a ACCEPT, --accept=ACCEPT Accept the following key
-A, --accept-all    Accept all pending keys
-r REJECT, --reject=REJECT Reject the specified public key
-R, --reject-all    Reject all pending keys
-d DELETE, --delete=DELETE Delete the named key
-D, --delete-all    Delete all keys

例:查看需要认证的Minion:
[root@master ~]# salt-key
Accepted Keys:
Unaccepted Keys:
minion.example.com
Rejected Keys:

认证Minion:
[root@master ~]# salt-key --accept=*
The following keys are going to be accepted:
Unaccepted Keys:
minion.example.com
Proceed? [n/Y] Y
Key for minion minion.example.com accepted.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 1,简介 1)SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ...
    沐兮_d64c阅读 1,452评论 0 3
  • RHEL/CentOS下安装SaltStack 对于Centos和RedHat用户,使用yum安装时最直接和快捷的...
    逗比punk阅读 631评论 0 2
  • 一伸手,就能摸到云。 一回头,就能看到你。 这种感觉,真好。 但是,你不在。 而且,云走了。
    gentlebrute阅读 211评论 0 0
  • 很早就看到有朋友写简书,寻思好久没下载。晚上坐在窗台乘凉,突然又看到朋友的简书,还是下载吧。不下载,老是心痒痒的。...
    五月荷花阅读 240评论 1 3
  • 宽广的大厅,火车的轰鸣,静静地坐着,等待属于自己的方向。安静的听歌,看着过往的人群,紧握手机等待着属于自己的那条回...
    MA暧昧AM阅读 176评论 0 0