Saltstack 安装应用

master 10.10.10.96

minion 10.10.10.97

一、系统准备

[root@master ~]# uname -r

2.6.32-504.el6.x86_64

# salt --version

salt 2016.3.3 (Boron)

1、设置关闭 selinux

[root@master ~]# cat /etc/sysconfig/selinux |grep -v ^#

SELINUX=disabled

SELINUXTYPE=targeted

2、设置iptables

# iptables -A INPUT -p tcp --dport 4505 -j ACCEPT

# iptables -A INPUT -p tcp --dport 4506 -j ACCEPT

# /etc/init.d/iptables save

3、安装 gcc c++

# yum install gcc gcc-c++ -y

4、配置yum 源

# cat /etc/yum.repos.d/saltstack.repo

[saltstack]

name=saltstack

baseurl=https://repo.saltstack.com/yum/rhel6/

enabled=1

gpgcheck=0

# rhel7 可以以此更改URL 安装源;

5、安装配置

master:

# yum install salt-master salt-minion salt-ssh salt-syndic salt-cloud -y

6、配置master

# mkdir /srv/{salt,pillar}

# cat /etc/salt/master

interface: 10.10.10.96

# 绑定master通信IP

publish_port: 4505

master_id: master

auto_accept: True

# 打开key的自动验证

pidfile: /var/run/salt-master.pid

pki_dir: /etc/salt/pki

file_roots:

base:

- /srv/salt

# 指定saltstack文件根目录位置

pillar_roots:

base:

- /srv/pillar

# 指定pillar的配置目录

#

当/etc/salt/master没有配置auto_accept: True时,需要通过salt-key命令来进行证书认证操作

salt-key -L 显示已认证或未认证的被控端id

salt-key -D 删除所有认证主机id证书

salt-key -d id 删除单个id证书

salt-key -A 接受所有id证书

salt-key -a id 接受单个id证书

salt-key -j id 拒绝单个id证书

salt-key –J 拒绝所有id证书

#

7、启动

# service salt-master start

# chkconfig salt-master on

8、minion 端:

# yum install salt-minion -y

配置 minion

[root@client ~]# cat /etc/salt/minion

master: 10.10.10.96

id: client

9、启动

# service salt-minion start

# chkconfig salt-minion on

10、向客户端发送命令检测;

[root@master ~]# salt-key -L

# 查看minion 列表

[root@master ~]# salt 'client' test.ping

二、提示问题:

# salt '*' test.ping

[ERROR] Salt request timed out. If this error persists, worker_threads may need to be increased.

Failed to authenticate!  This is most likely because this user is not permitted to execute commands, but there is a small possibility that a disk error occurred (check disk/inode usage).

Salt因为握手不成功报错[要求增加线程]解决办法?一般都是配置问题

解决方法:

检测配置文件 /etc/salt/master里面的worker_threads 参数

检测 IPtables和4506 4505 端口;

三、常用模块及API

通过sys模块列出当前版本支持的模块

#salt '*' sys.list_modules

1、archive模块:实现系统层面的压缩包调用

# salt ‘*’ archive.gzip /tmp/sourcefile.txt

# salt ‘*’ archive.gunzip /tmp/sourcefile.txt.gz

2、cmd模块:实现远程的命令行调用执行(默认具有root权限)

# salt ‘*’ cmd.run ‘free -m’

在远程主机运行test.sh脚本,其中script/test.sh存放在file_roots指定的目录,该命令会有两个动作,首先同步test.sh到minion的cache目录(/var/cache/salt/minion/files/base/script/),其次运行该脚本

# salt ‘nginx_update’ cmd.script salt://script/test.sh

3、cp模块:实现远程文件、目录的复制,以及下载URL文件等操作

将指定被控主机的/etc/hosts文件复制到被控主机本地的salt cache目录/var/cache/salt/minion/localfiles

# salt ‘*’ cp.cache_local_file /etc/hosts

将主服务器file_roots指定位置下的目录复制到被控主机

# salt ‘*’ cp.get_dir salt://path/to/dir /minion/dest

将主服务器file_roots指定位置下的文件复制到被控主机

# salt ‘*’ cp.get_file salt://path/to/file /minion/dest

下载URL内容到被控主机指定位置

# salt ‘*’ cp.get_url http://www.slashdot.org /tmp/index.html

删除 文件

salt '*' file.remove /tmp/test

4、cron模块:实现被控主机的crontab操作

查看指定被控主机root用户的crontab清单

# salt ‘nginx_update’ cron.raw_cron root

为指定的被控主机root用户添加/usr/local/weekly任务作业

# salt ‘nginx_update’ cron.set_job root ‘*’ ‘*’ ‘*’ ‘*’ 1 /usr/local/weekly

删除指定的被控主机root用户的crontab的/usr/local/weekly任务作业

# salt ‘nginx_update’ cron.rm_job root /usr/local/weekly

5、dnsutil模块:实现被控主机通用DNS相关操作

添加指定被控主机hosts的主机配置项

# salt ‘nginx_update’ dnsutil.hosts_append /etc/hosts 127.0.0.1 localhost.com

删除指定被控主机hosts的主机配置项

# salt ‘nginx_update’ dnsutil.hosts_remove /etc/hosts localhost.com

6、file模块:被控主机文件常见操作,包括文件读写,权限,查找,校验等

# salt ‘*’ file.chown /etc/passwd root root

# salt ‘*’ file.copy /path/to/src /path/to/dst

# salt '*' file.directory_exists /etc/

# salt '*' file.file_exists /etc/passwd

# salt '*' file.stats /etc/passwd

# salt '*' file.get_mode /etc/passwd

# salt '*' file.set_mode /etc/passwd 0644

# salt '*' file.mkdir /tmp/test

# salt ‘*’ file.sed /etc/httpd/httpd.conf ‘LogLevel warn’ ‘LogLevel info’

# salt '*' file.append /tmp/test/testfile 'maxclient 100'

# salt '*' file.remove /tmp/test/testfile

7、pkg包管理模块:被控主机程序包管理,如yum

# salt ‘*’ pkg.install php

# salt ‘*’ pkg.remove php

# salt ‘*’ pkg.upgrade

8、service服务模块:被控主机程序包服务管理

# salt ‘*’ service.enable nginx

# salt ‘*’ service.disable nginx

# salt ‘*’ service.reload nginx

# salt ‘*’ service.restart nginx

# salt ‘*’ service.start nginx

# salt ‘*’ service.stop nginx

# salt ‘*’ service.status nginx

9、iptables模块

# salt ‘*’ iptables.append filter INPUT rule=’-m state -state RELATED,ESTABLISHED -j ACCEPT’

# salt ‘*’ iptables.insert filter INPUT position=3 rule=’-m state -state RELATED,ESTABLISHED -j ACCEPT’

# salt ‘*’ iptables.delete filter INPUT position=3

# salt ‘*’ iptables.delete filter INPUT rule=’ -m state -state RELATED,ESTABLISHED -j ACCEPT’

# salt ‘*’ iptables.save /etcsysconfig/iptables

四、官方参考:

http://docs.saltstack.cn/topics/installation/rhel.html

转载于:https://blog.51cto.com/51log/1866325

Saltstack 安装应用笔记一相关推荐

  1. XHProf安装使用笔记

    XHProf安装使用笔记 from: http://www.sourcejoy.com/php_dev/xhprof_install_and_usage.html libpng: 先安装... gra ...

  2. Ubuntu14.04安装Torch7笔记

    Ubuntu14.04安装Torch7笔记 利用快捷键Ctrl+Alt+T打开Ubuntu终端 第一步: 获取安装LuauJIT(C语言编写的Lua的解释器)和Torch所必需的依赖包. 代码如下: ...

  3. SaltStack 安装及配置认证

    一.SaltStack 安装 SaltStack 是基于 Python 开发的,也是基于 C/S 架构,通过服务端 ( master ) 控制多台客户端 ( minion ) 实现批量操作 这里我们使 ...

  4. freebsd 6.2 安装配置笔记[转]

    freebsd 6.2 安装配置笔记June 28th, 2007 作者: Jeffrey 出处:http://blog.zhangjianfeng.com/?p=588 freebsd 6.2 安装 ...

  5. 蚂蚁笔记 linux安装教程,群晖docker安装蚂蚁笔记安装教程

    原标题:群晖docker安装蚂蚁笔记安装教程 背景 偶然看见其他网友群晖一个 用途 当然是安装镜像了,需要安装2个 映像 mongo与leanote 2.直接创建mongo容器,端口27017 其他默 ...

  6. 自动化运维saltstack 安装部署以及一键部署实现负载均衡

    saltstack介绍 SaltStack是一个服务器基础架构集中化管理平台,SaltStack基于Python语言实现,也是基于C/S架构,结合轻量级消息队列(ZeroMQ)与Python第三方模块 ...

  7. Python 的scikit-learn和tensorflow在虚拟环境下安装配置笔记

    Python 机器学习安装配置笔记 这学期开始上人工智能课,任课老师要求安装python和对于机器学习深度学习的各种库. 以前做过类似项目,顺便就把配置环境的流程记录下来. 中间有引用他人的博客,都有 ...

  8. 群晖NAS教程(十)、利用Docker安装蚂蚁笔记(leanote)

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(十).利用Docker安装蚂蚁笔记(leanote) 蚂蚁笔记是一款特别棒的笔记软件,支持Markdown语法,是程序员必备的软件 ...

  9. CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/123495062 各位读者,知识无穷而人力有穷 ...

  10. owncloud 配置mysql_owncloud安装配置笔记

    Mike的分享空间 owncloud安装配置笔记 date: 2017.05.05; modification:2018.07.25 目录: 1 服务端安装 服务器: ubuntu 18.04 1.1 ...

最新文章

  1. Beyond Compare比较Word文件的方法
  2. linux上寻找并杀死僵尸进程
  3. 模块化操作(es6写法)
  4. 【SF】开源的.NET CORE 基础管理系统 -介绍篇
  5. PyQt中从RAM新建QIcon对象 / Create a QIcon from binary data
  6. 7nm芯片计划受挫 英特尔股价周五收盘暴跌16.24%
  7. 小学数学开灯问题_【数学攻略】小学四年级数学“相遇问题”全普及
  8. 分步傅里叶算法_分布傅里叶算法求解非线性薛定谔的matlab程序问题
  9. 74. PHP 计数器
  10. arsc编辑器手机版_APK编辑器中文版,任意修改你手机中的APP名称、logo!
  11. 缺失值了解与简单处理
  12. Gridview 增加多个空行。
  13. 远程桌面:6个最实用技巧
  14. 区块链100讲:如果连电子钱包都不懂,还谈什么区块链开发(有彩蛋)
  15. 【shell】数值加减乘除|字符串转换成数字|提取数字字母小数
  16. Cytoscape.js 学习
  17. python如何抓取网页里面的文字_如何利用python抓取网页文字、图片内容?
  18. Fabric实战(12)Fabric CA-账号服务器
  19. 虚拟机安装打印服务器,虚拟机怎么添加打印机
  20. c语言的编程switch,C语言之switch详解

热门文章

  1. net core 模型绑定与之前版本的不同-FromBody 必须对应Json格式
  2. PhpStorm取消创建一个文件自动就add提交到git
  3. PHP 数字缩短(最多1倍)与还原
  4. php 7.4 Array and string offset access syntax with curly braces is deprecated
  5. mysql 数字字段_mysql 数字字段的类型选择
  6. fatal error: GL/glut.h: 没有那个文件或目录
  7. 领导问“BUG解决了没有”,吾一听就知道完蛋了
  8. Android Studio下载SDK的链接
  9. 遇到问题就请外援,汝作为高手的价值在哪里
  10. NWT失败反省:买个流量卡汝也看不顺眼,业务搞了几个?