设为首页 收藏本站
查看: 1307|回复: 0

[经验分享] SaltStack学习(一) 开始使用 salt

[复制链接]

尚未签到

发表于 2018-1-3 20:33:21 | 显示全部楼层 |阅读模式
  这个系列的文章是学习 《saltstack 运维实战》的笔记,仅供参考。
  
1.   salt部署的基本架构
  salt 架构有种三种角色
  master : 中心控制系统 ,如果放在公司的人事架构中就相当于老板
  minion :  被管理的客户端 ,如果放在公司的人事架构中就相当于老板手下的主管
  syndic : 相当于 zabbix 中的代理 ,如果放在公司的人事架构中就相当于主管手下的小弟
  第一种架构:master 和所有 minion 直接连接,minion 接收来自 master 的指令,完成配置管理和命令的执行

  第二种架构:master 通过 syndic 对 minion 进行管理,该架构可以进行多级扩展

  第三种架构:单独一个 minion,不受 master 控制,通过本地运行即可

  2   安装:
  点击这里查看
  官方推荐安装方式:
  

# 安装 master 服务端,执行下面的命令会同时安装 master 和 minion,如果不想安装 minion,可以指定-N 选项  
curl
-L https://bootstrap.saltstack.com -o install_salt.sh  
sudo sh install_salt.sh -P -M
  
# 安装 minion 客户端, 执行下面的命令
  
curl -L https://bootstrap.saltstack.com -o install_salt.sh
  
sudo sh install_salt.sh -P
  

  3. 简单配置 minion
  master 和 minion 之间最好通过域名通信,通常内网环境可以使用轻量级的 DNSmasq 搭建 DNS 服务器。这里为了简单在 hosts 文件中配置了本地解析。
  

# vi /etc/hosts  

192.168.56.10 master  

192.168.56.11 m01   

  配置 minion
  

# vi /etc/salt/minion  
master: master
  

id: m01  
# master 参数为 salt
-master 的域名,或者 IP 地址,这里设置的是上面配置的域名  
#
id 参数为在 master 处看到的 minion 的名称,如果不指定,minion 会在启动时尝试自动判断>  

  4 启动 master 和 minion
  

systemctl start salt-master  
systemctl start salt
-minion  

  5. 在 master 上查看并接受 minion 的密钥
  minion 启动之后会请求 master 为其发送证书,证书签发完成后,表示 master 可以新人该 minion,
  

##  
# salt
-key -L  
Accepted Keys:
  
Denied Keys:
  
Unaccepted Keys:
  
m01
  
master
  
Rejected Keys:
  
##  这里 Unaccepted Keys:中的master 是 salt
-master 服务端的 minion 发送过来的  

  此时我们看到的 m01、master,表明两个 minion 客户端已经和服务端建立了联系,并且  master 已经获取了 minion 的公钥,正在等待更多进一步有关是否接受该 minion 的指令。
  我们可以查看密钥的指纹码来确保其与 minion 的密钥想匹配,在 master 上执行如下命令:
  

## 在 master 上执行如下命令,查看密钥指纹码  
# salt
-key -f m01  
Unaccepted Keys:
  
m01:  ea:
49:9f:26:34:5b:a8:3e:97:ba:60:af:06:77:9d:5b  
## 在 minion 上执行如下命令,查看密钥指纹码
  
# salt
-call --local key.finger  
local:
  ea:
49:9f:26:34:5b:a8:3e:97:ba:60:af:06:77:9d:5b  

  master 接受 minion 密钥
  有三种方式
  

## 第一种方式:每次接受一台minion 的key  
# salt
-key -a master  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
master
  
Proceed
? [n/Y] y  
Key
for minion master accepted.  
## 第二种方式:一次接受所有minion 的key
  
# salt
-key -A  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
m01
  
Proceed
? [n/Y] y  
Key
for minion m01 accepted.  
## 第三种方式:让 master 自动签发
  
#
vi /etc/salt/master  
auto_accept: True  # 设置该选项, 需要重启
  
systemctl restart salt
-master  
## 查看已经接受的 minion
  
# salt
-key -L  
Accepted Keys:
  
m01
  
master
  
Denied Keys:
  
Unaccepted Keys:
  
Rejected Keys:
  

  6 第一条测试命令
  

# salt "*" test.ping  
m01:
  True
  
master:
  True
  

  这是一条远程执行命令,用来简单的测试 minion 是否存活。
  流程是,master 发送一条消息给所有的 minion,并告诉它们运行 salt 内置模块中一个函数。
  

## 查看 test 模块的其他函数  
# salt
"m01" sys.list_functions test  
m01:
- test.arg- test.arg_repr- test.arg_type- test.assertion- test.attr_call- test.collatz- test.conf_test- test.cross_test- test.echo  - test.exception
  - test.fib
  - test.get_opts
  - test.kwarg
  - test.module_report
  - test.not_loaded
  - test.opts_pkg
  - test.outputter
  - test.ping
  - test.provider
  - test.providers
  - test.rand_sleep
  - test.rand_str
  - test.retcode
  - test.sleep
  - test.stack
  - test.try_
  - test.tty
  - test.version
  - test.versions_information
  - test.versions_report
  
## 查看 列表中函数的用法
  
# salt m01 sys.doc test.echo
  
'test.echo:'
  Return a string - used for testing the connection
  CLI Example:
  salt '*' test.echo 'foo bar baz quo qux'
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431311-1-1.html 上篇帖子: CentOS 7上快速安装saltstack 下篇帖子: Saltstack生产案例之Haproxy安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表