LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
SALTSTACK快速了解与简单实用
企业运维Joy 2016-12-22
  • salt是一个异构平台基础设置管理工具,使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似,有一个强大的远程执行命令引擎,也有一个强大的配置管理系统,只需花费数分钟即可运行起来, 扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递. 经常被描述为 Func 加强版+Puppet 精简版;通常叫做Salt State System。

  • SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信

  • saltstack支持的操作系统

  • saltstack基础架构
  • saltstack安装部署

  • 环境一台saltstack服务,两台客户端,使用centos6

安装epel源(服务端和客户端都需要安装)

#centos 5: 

rpm -Uvh https://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm

#centos6:

rpm -Uvh https://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

安装salt-master,服务端

yum -y install salt-master

安装salt-minion,客户端

yum -y install salt-minion

安装完毕之后,salt-master用默认配置即可

修改salt-minion配置文件

vi /etc/salt/minion

master:#master的IP地址或者域名

id:#给客户端取一个名字,默认是客户机的主机名,如图所示(注意空格)

  • 启动服务

启动服务端和客户端

客户端:/etc/init.d/salt-minion start

服务端:/etc/init.d/salt-master start



  • 常用命令

列出当前所有key

Salt-key -L

接受指定的key

Salt-key –a salt-minion01 -y

接受所有key

Salt-key –A -y

删除指定的key

Salt-key –d salt-minion01 -y

删除所有key

Salt-key –D -y

  • 在服务端查看客户端,红色表示已经找到客户端,但是现在还没有加入到服务端

  • 将客户端添加至允许操作
  • 下面我进行一些常规批量操作

  • 如果客户机salt使用的是默认ID,且客户端更换了主机名,如何重新加入master?

1.服务端先把无法访问的主机剔除掉。

2.然后在客户端删除一下两个文件,然后重新启动

rm –rf /etc/salt/minion_id

rm –rf /etc/salt/pki/

  • Salt如何查看帮助文档

    在服务端执行

    salt ‘salt-client01' sys.doc > salt.txt

    然后查看文档


在官网查看使用帮助  

https://docs.saltstack.com/en/latest/


  • 批量分发文件和目录



  • 新的master服务端配置并启用
    将第一台服务端的PKI目录拷贝到本地指定目录,然后启动查看


  • Return记录返回处理结果

  • 客户端查看日志

  • 常用模块命令

1.cp(实现远程文件,目录复制,以及下载URL文件等)

salt ‘*’ cp.get_dir salt://dir-test /root#复制目录

salt ‘*’ cp.get_file salt://file-test /root/file-test#复制文件

salt ‘*’ cp.get_url https://xxx.org/down/xxx.tar.gz /root/xxx.tar.gz #下载URL

2.cmd(实现远程命令调用执行)

salt ‘*’ cmd.run ‘netstat -natup’

salt ‘*’ cmd.exec_code python ‘import sys; print sys.version

3.cron(实现客户机crontab操作)

#增加计划任务

salt ‘*’ cron.set_job root ‘00’ ‘00’ ‘*’ ‘*’ ‘*’ ‘/usr/sbin/ntpdate 202.112.31.197 > /dev/null 2>&1‘

salt ‘*’ cron.rm_job root ‘/usr/sbin/ntpdate 202.112.31.197 > /dev/null 2>&1‘#删除计划任务

salt ‘*’ cron.raw_cron root   #显示客户机计划任务列表

4.dnsutil(实现客户机DNS操作)

salt '*' dnsutil.hosts_append /etc/hosts 127.0.0.1 new.liketry.com

5.service(客户机程序管理)

salt ‘*’ service.status nginx

salt ‘*’ service.start nginx

salt ‘*’ service.stop nginx

salt ‘*’ service.restart nginx

salt ‘*’ service.reload nginx

  • States & YAML

Salt状态系统核心是sls,或者叫salt state文件。SLS表示系统将会是一个什么样的状态,而且是一种很简单的格式包含这些数据。经常也被叫做配置管理。

SLS文件内容实际只是一些词典、列表、字符串、数字。它使用的是YAML语法,YAML语法特点:

1.YAML使用一个固定的缩进风格表示数据层结构关系。需要每个缩进级别有两个空格组成,不能使用tab.

2.字典的keys在YAML中表现形式是一个以冒号结尾的字符串。Values的表现是冒号下面每一行,用空格隔开

3.想要表现列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一列表的一部分

  • 下面我们批量安装Nginx

  • salt 'salt-client01' state.sls ini



  • 自动更新nginx配置文件



推荐文章
评论(0)
联系我们|招贤纳士|移动客户端|风格模板|官方博客|侵权投诉 Reporting Infringements|未成年人有害信息举报 0571-89852053|涉企举报专区
网易公司版权所有 ©1997-2024  浙公网安备 33010802010186号 浙ICP备16011220号-11 增值电信业务经营许可证:浙B2-20160599
网络文化经营许可证: 浙网文[2022]1208-054号 自营经营者信息 工业和信息化部备案管理系统网站 12318全国文化市场举报网站
网信算备330108093980202220015号 网信算备330108093980204230011号
分享到
转载我的主页