永夜海 发表于 2018-8-1 10:02:15

CentOS 安装Saltstack-Jack

  saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。
  Salt 有两个主要的功能:配置管理和远程执行。
  Salt 是:

[*]  一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的报被安装,指定的服务在运行)
[*]  一个分布式远程执行系统,用来在远程节点(可以是单个节点,也可以是任意规则挑选出来的节点)上执行命令和查询数据
  实验环境
  Salt master Server and Salt minion client 各一台。
  Salt master server :
  OS : Centos5.6
  IP: 192.168.2.121
  Salt minion client
  OS : Centos6.3
  IP: 192.168.2.137
  准备工作:
  epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包
  EPEL的全称叫 Extra Packages for Enterprise Linux 。
  EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
  # centos5 下载下面rpm
  wget –O epel.rpm https://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
  # centos 6 下载下面rpm
  wget -O epel.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  ## 安装epel
  rpm -Uvh epel.rpm
  开始安装
  1. salt-master 安装 : 仅需要在salt的master主机上安装
  #yum –y install salt-master
  系统将自动下载并安装,安装完成后会显示 Complete!
  2. salt-minion 安装 :监控管理的机器上面安装该控制端
     #yum -y install salt-minion
  3.配置SaltStackmaster 和 minion 分别都要配置
  配置salt-master :
  #vi /etc/salt/master
  ############################################################
  # salt运行的用户,影响到salt的执行权限
  user: root
  #s>
  worker_threads: 10
  # master的管理端口
  publish_port : 4505
  # master跟minion的通讯端口,用于文件服务,认证,接受返回结果等
  ret_port : 4506
  # 如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级master的监听端口
  syndic_master_port : 4506
  # 指定pid文件位置
  pidfile: /var/run/salt-master.pid
  # saltstack 可以控制的文件系统的开始位置
  root_dir: /
  # 日志文件地址
  log_file: /var/log/salt_master.log
  # 分组设置 * 代表通配符
  nodegroups:
  group_all: '*'
  # salt state执行时候的根目录
  file_roots:
  base:
  - /etc/salt/file
  # 设置pillar 的根目录
  pillar_roots:
  base:
  - /etc/salt/pillar
  ############################################################
  配置salt-minion :
  #vi /etc/salt/minion
  ############################################################
  # minion的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
  id: 192.168.2.137
  # salt运行的用户权限
  user: root
  # master的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
  master : 192.168.2.121
  # master通讯端口
  master_port: 4506
  # 备份模式,minion是本地备份,当进行文件管理时的文件备份模式
  backup_mode: minion
  # 执行salt-call时候的输出方式
  output: nested
  # minion等待master接受认证的时间
  acceptance_wait_time: 10
  # 失败重连次数,0表示无限次,非零会不断尝试到设置值后停止尝试
  acceptance_wait_time_max: 0
  # 重新认证延迟时间,可以避免因为master的key改变导致minion需要重新认证的syn风暴
  random_reauth_delay: 60
  # 日志文件位置
  log_file: /var/logs/salt_minion.log
  # 文件路径基本位置
  file_roots:
  base:
  - /etc/salt/minion/file
  # pillar基本位置
  pillar_roots:
  base:
  - /data/salt/minion/pillar
  ############################################################
  检查修改配置文件的内容:
  #sed -e '/^#/d;/^$/d' /etc/salt/master
  启动SaltStack
  # 启动master
  service salt-master restart
  # 启动minion
  service salt-minion restart
  # 也可以使用下面的启动方式
  /usr/bin/python2.6 /usr/bin/salt-master -d
  /usr/bin/python2.6 /usr/bin/salt-minion –d
  测试SaltStack
  接受salt-minion的认证请求
  salt-key -L # 用来查看证书情况
  # salt-key
  Accepted Keys:
  192.168.2.137
  Unaccepted Keys:
  CentOS6.3_Salt_minion
  Rejected Keys:
  # salt-key -y -a 192.168.2.137
  The following keys are going to be accepted:
  Unaccepted Keys:
  192.168.2.137
  Key for minion 192.168.2.137 accepted.
  去除salt-minion的认证
  1.## 如果觉得该minion不需要了,可以***
  # salt-key -y -d 192.168.2.137
  Deleting the following keys:
  Accepted Keys:
  192.168.2.137
  Key for minion 192.168.2.137 deleted.
  如果需重新认证,把minion 服务重启下,再执行接受认证请求就可以了
  现在可以测试一下saltstack master 与 minion 的通讯了
  在master端执行:
  # salt '192.168.2.137' test.ping --show-timeout
  192.168.2.137:
  True
  # salt -N 'xd' test.ping --show-timeout
  192.168.2.137:
  True
  能够反回 True 表示执行完成
  也可以执行命令测试
  # salt -N 'xd' cmd.run "ping -c 4 baidu.com"
  192.168.2.137:
  PING baidu.com (123.125.114.144) 56(84) bytes of data.
  64 bytes from 123.125.114.144: icmp_seq=1 ttl=56 time=1.17 ms
  64 bytes from 123.125.114.144: icmp_seq=2 ttl=56 time=1.12 ms
  64 bytes from 123.125.114.144: icmp_seq=3 ttl=56 time=0.992 ms
  64 bytes from 123.125.114.144: icmp_seq=4 ttl=56 time=0.933 ms
  --- baidu.com ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3003ms
  rtt min/avg/max/mdev = 0.933/1.056/1.174/0.097 ms
  #
  关于修复阿里云Linux Bash漏洞方法
  # salt -N 'xd' cmd.run "yum -y update bash"
  192.168.2.137:
  Loaded plugins: fastestmirror, security
  Loading mirror speeds from cached hostfile
  * epel: mirrors.yun-idc.com
  * rpmforge: apt.sw.be
  Setting up Update Process
  Resolving Dependencies
  --> Running transaction check
  ---> Package bash.x86_64 0:4.1.2-9.el6_2 will be updated
  ---> Package bash.x86_64 0:4.1.2-15.el6_5.1 will be an update
  --> Finished Dependency Resolution
  Dependencies Resolved
  ================================================================================

  Package       Arch            Version                   Repository       >  ================================================================================
  Updating:
  bash          x86_64          4.1.2-15.el6_5.1          updates          905 k
  Transaction Summary
  ================================================================================
  Upgrade       1 Package(s)

  Total download>  Downloading Packages:
  Running rpm_check_debug
  Running Transaction Test
  Transaction Test Succeeded
  Running Transaction
  Updating   : bash-4.1.2-15.el6_5.1.x86_64                                 1/2
  Cleanup    : bash-4.1.2-9.el6_2.x86_64                                    2/2
  Verifying: bash-4.1.2-15.el6_5.1.x86_64                                 1/2
  Verifying: bash-4.1.2-9.el6_2.x86_64                                    2/2
  Updated:
  bash.x86_64 0:4.1.2-15.el6_5.1
  Complete!
  参考:
  http://docs.saltstack.com/en/latest/contents.html
  http://docs.saltstack.cn/contents.html
  http://www.it165.net/os/html/201406/8507.html
  http://www.open-open.com/lib/view/open1386665335876.html
  http://jingyan.baidu.com/article/d3b74d64d210721f77e609ec.html
页: [1]
查看完整版本: CentOS 安装Saltstack-Jack