SaltStack(1)-安装配置

简介

SaltStack是一种比较常见的运维自动化工具,一般来说一个稍微大些的互联网公司都有用到这类工具,类似的其他工具还有Ansible、Puppet等。每种工具之间都各有优缺点,都有自己适合的场景,如何选型就看自己的业务场景,关于优缺点的大家可以看下这篇文章(https://www.cnblogs.com/leon2659/p/10195443.html)或者自己网上搜索一下。

PS看完之后你可能觉得整个人都不好了,难道就没一种完美的解决方案吗,又不是小孩子,当然是什么都要的/// 对这个问题我个人看法是,在IT方面很少有一种产品能独占所有市场,或者说,很少有一种产品能解决所有的问题。只要有新的问题出现,有不能或者不能很好解决的问题,就有可能出现一款新的产品。除非有一天,所有操作系统都统一了,所有开发语言都统一了,所有硬件设备都统一了,但这一天我能不能亲眼看到都不知道😂

使用saltstack前有必要了解以下几点:

  • 基于Python开发且支持二次开发
  • 使用YAML配置文件格式
  • 需要客户端(Ansible不需要客户端)
  • 听说执行效率更高

安装

准备:

salt官网:https://docs.saltstack.com/en/getstarted/
查看并选择版本:https://repo.saltstack.com/index.html#rhel

开始安装:

服务端

1、安装SaltStack存储库和密钥(需要其他版本参考 https://repo.saltstack.com/index.html#rhel )
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-3002.el8.noarch.rpm
2、清理当前环境
sudo yum clean expire-cache

3、根据自己的需要安装模块(模块功能简介:https://docs.saltstack.com/en/getstarted/overview.html)
```bash
# 中央管理系统
sudo yum install salt-master
# 被管理的机器上安装的客户端
sudo yum install salt-minion
# 使用salt-ssh模块则可以直接执行一些Linux系统命令
sudo yum install salt-ssh
# salt-syndic是代理,比如master一共要管理3000台机器,可以交给3个syndic各1000台机器代为管理,当master要执行一个命令时之和syndic说,syndic负责具体执行并返回结果
sudo yum install salt-syndic
# 随着云服务器发展起来的,一个方便管理云服务器的模块
sudo yum install salt-cloud
# 顾名思义,支持用API请求方式来执行salt命令的模块
sudo yum install salt-api

# 重启服务命令
sudo systemctl restart salt-master

客户端

1、安装SaltStack存储库和密钥
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-3002.el8.noarch.rpm
2、清理当前环境
sudo yum clean expire-cache

3、根据自己的需要安装模块(模块功能简介:https://docs.saltstack.com/en/getstarted/overview.html)
```bash
# 被管理的机器上安装的客户端
sudo yum install salt-minion

4、配置服务端(如果用服务器需要注意端口是否开放)
# 测试端口
tcping $master_IP 4505
# vim /etc/salt/minion
master: $master_IP (master的ip)

# 重启服务命令
sudo systemctl restart salt-master

查看版本:

查看salt版本
# salt --version
salt 3002


查看salt及其组件的版本
# salt --versions-report
Salt Version:
           Salt: 3002

Dependency Versions:
           cffi: 1.11.5
       cherrypy: Not Installed
       dateutil: 2.6.1
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
         Jinja2: 2.10.1
        libgit2: Not Installed
       M2Crypto: 0.35.2
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.6.2
   mysql-python: Not Installed
      pycparser: 2.14
       pycrypto: 3.9.8
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 3.6.8 (default, Apr 16 2020, 01:36:27)
   python-gnupg: Not Installed
         PyYAML: 3.12
          PyZMQ: 19.0.0
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.3.3

System Versions:
           dist: centos 8 Core
         locale: UTF-8
        machine: x86_64
        release: 4.18.0-147.8.1.el8_1.x86_64
         system: Linux
        version: CentOS Linux 8 Core

salt key管理

salt-key命令是salt-master用来管理salt-minion的凭证(保存在 /etc/salt/pki/ 目录下)

# salt-key  -L
Accepted Keys:# 已经接受的key
  instance-testtest
  instance-tiangong
Denied Keys: # master自动拒绝。但出现:具有重复的ID或minion生成了新的密钥,而之前的密钥没有从master服务器中删除。在这种状态下,minion不会收到盐主的任何通讯。
  instance-testtest
Unaccepted Keys: # 新增还没被接受的key
  instance-wukong
Rejected Keys: # 使用salt-key命令拒绝的key


接受key
# salt-key  -A -y
The following keys are going to be accepted:
Unaccepted Keys:
instance-wukong
Key for minion instance-wukong accepted.

其他命令:
salt-key  -L  # 查询key列表
salt-key  -A  # 接受所有key
salt-key  -D  # 删除所有key
salt-key  -a <证书名>  # 指定名称接收单个key
salt-key  -d <证书名>  # 指定名称删除单个key

到这里至少salt已经可以跑起来了
salt的默认安装目录在:/etc/salt下,更多的配置可以看官方文档:https://docs.saltstack.com/en/latest/ref/configuration/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值