关于Staltstack
saltstate服务搭建:
cat /etc/hosts(master和minion都添加)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.201 kvm2
192.168.1.202 kvm3
salt-master端执行
====================================================
#换阿里源:
wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
yum -y install epel-release-latest-7.noarch.rpm
#master端安装salt-master和salt-minion
yum -y install salt-master salt-minion
#设置master
sed -i "s/^#interface: 0.0.0.0/interface: `ip a|grep "/24"|awk -F '/' '{print $1}'|awk -F ' ' '{print $2}'`/" /etc/salt/master
sed -i "/interface:/a\id: `ip a|grep "/24"|awk -F '/' '{print $1}'|awk -F ' ' '{print $2}'`" /etc/salt/master
sed -i "s/^#file_roots/file_roots/" /etc/salt/master
sed -i "s/^# base/ base/" /etc/salt/master #这一步可能会有另一个一模一样的也会打开,请注意
sed -i "s/# - \/srv\/salt/ - \/srv\/salt/" /etc/salt/master
sed -i "s/^#auto_accept: False/auto_accept: True/" /etc/salt/master
sed -i "s/^#publish_port/publish_port/" /etc/salt/master
sed -i "s/#ret_port/ret_port/" /etc/salt/master
#启动master
systemctl start salt-master
#设置开机自启动
chkconfig salt-master on
#设置minion
cat /etc/salt/minion|grep -v ^#|grep -v ^$
master: 192.168.1.
id: 192.168.1.
#启动minion
systemctl start salt-minion
#设置开机自启动
chkconfig salt-minion on
============================================================
#minion端安装minion
wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
yum -y install epel-release-latest-7.noarch.rpm
yum -y install salt-minion
#设置minion端minion的配置文件
cat /etc/salt/minion|grep -v ^#|grep -v ^$
master: 192.168.1.
id: 192.168.1.
systemctl start salt-minion
systemctl enable salt-minion
******************************************************
如果此时删除了/etc/salt/pki/master目录下的所有
或者删除了/etc/salt/pki/minion目录下的所有
那么客户端和服务器的salt-master和salt-minion都需要重启
******************************************************
#salt-master端操作
[root@kvm2 master]# pwd
/etc/salt/pki/master
[root@kvm2 master]# salt-key -L (-L:列表 -D:删除所有 -d:删除选中的 -A:同意所有 -a 192*)
Accepted Keys:
192.168.1.201 #重点
192.168.1.202 #重点
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@kvm2 master]# tree
.
├── master.pem
├── master.pub
├── minions
├── minions_autosign
├── minions_denied
├── minions_pre
│ ├── 192.168.1.201
│ └── 192.168.1.202
└── minions_rejected
[root@kvm2 master]# salt-key -A



测试:

**********************************************
解决:
登录到192.168.1.202上,并执行rm -rf /etc/salt/pki/minion/minion_master.pub
再重启下:systemctl restart salt-minion
说明:
minion端拿到的key与master端的不符,验证无法通过。
解决方法是删除minion端的key,再重新与master进行连接和认证
master端再全部接收一次salt-key -A 并 重启salt-master和salt-minion
**********************************************



注:打开上面配置文件中的选项
mkdir /srv/salt
systemctl restart salt-master
#写一个安装httpd的服务
cd /srv/salt/
vim apache.sls (下行比上行多2个空格)
apache-install: (标题,可自定义)
pkg.installed: (pkg模块的installed方法,重点)
- names: (通过names告诉installed要装什么)
- httpd
- httpd-devel
apache-service: (标题,可自定义)
service.running: (service模块的running方法)
- name: httpd
- enable: True (开机自启)
- reload: True

注:第2行是使用pkg函数的installed的方法
上图中第4和5行都是names的参数传递的包的名称

*************** 中间省略一部分 *******************

salt '*' cmd.run 'yum -y install net-tools'
salt '*' cmd.run 'ip a'

高级状态: 官网介绍
cd /srv/salt
vim top.sls #文件必须放在base环境下
base:
'192.168*':
- apache
[root@kvm2 salt]# salt '*' state.highstate

[root@kvm2 salt]# salt '*' grains.ls

[root@kvm2 salt]# salt '*' grains.items
#把所有grains的内容显示出来,也可以是单台机器的 salt '192.168.1.202' grains.items
#显示的内容中包括cpu标志位、base的版本、base的时间、cpu型号、cpu架构、域名、fqdn名、硬件信息等


部分命令:
salt-key -a <key-name> #接受某个minion-key
salt-key -d <key-name> #删除某个minion-key
salt-key -A #接受所有的minion-key
salt-key -D #删除所有的minion-key
显示磁盘使用情况
salt '*' disk.usage
salt 'minion*' disk.usage
列出网络接口
salt '*' network.interfaces
安装包
salt '*' pkg.install <命令参数>
目标可以使用Grains系统基于Salt minion系统信息:
salt -G 'os:Ubuntu' test.ping
可以通过正则表达式过滤目标
salt -E 'minion[0-9]' test.ping
可以在列表中明确指定目标
salt -L 'minion1,minion2' test.ping
Salt命令使用通用结构执行:
salt '*' pkg.install 'tree'
说明:
*:目标
pkg:模块
install:方法
tree: 参数
目标.方法: 这就是你如何利用Salt的真正力量。命令由模块和功能组成,Salt带有内置模块,用于安装软件,复制文件,检查服务以及您想要自动执行的大多数其他任务。
参数:提供您正在调用的函数所需的任何额外数据。例如,pkg.install函数想知道您要安装哪些软件包。你用一个参数告诉它。
文件:
您可以将模块或函数名称传递给sys.doc执行模块,以直接从命令行获取有关任何模块的详细信息。该列表基于目标进行过滤。
相当于CentOS中的man --help这些参数
比如:
salt '*' sys.doc
salt '*' sys.doc pkg
salt '*' sys.doc pkg.install
向主机的hosts文件中添加条目
vim opop.sls
myserver in hosts file:
host.present:
- name: myserver #要添加的主机名
- ip: 192.168.1.202 #要添加的IP
执行:
salt '192.168.1.202' state.sls opop
执行调用功能
vim opop.sls
restart vsftpd:
module.run:
- name: service.restart
- m_name: vsftpd #m_name作为“名称”传递给执行模块
salt '*' state.sls opop
关于Staltstack的更多相关文章
- staltStack安装配置
http://www.cnblogs.com/kevingrace/p/5570290.html
- Saltstack 介绍、安装、配置语法(一)
Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/ (介绍各操作系统安装方法) yum install htt ...
随机推荐
- Windows 文件夹修改为exe的原理和解决办法
有关文件夹后缀改为exe的病毒 该病毒之前出现过,不过没多长时间便消失了,最新的这个应该是变种,下面解决一下该病毒在移动存储设备中的问题: 该病毒并不具备能够将文件夹改为文件的能力,只是将原有文件夹全 ...
- 「五」创建一个带 tomcat 服务的基础镜像(修订版)
Tomcat Tomcat 简单介绍 Tomcat server是一个免费的开放源码的Web 应用server,属于轻量级应用server.在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开 ...
- Easyui 页面訪问慢解决方式,GZIP站点压缩加速优化
1. 静态资源压缩GZIP是站点压缩加速的一种技术,对于开启后能够加快我们站点的打开速度.原理是经过server压缩,client浏览器高速解压的原理,能够大大降低了站点的流量. 详细代码能够參加je ...
- Batch 拷贝远程机器文件到本机指定目录下
net use * /del /yesNET USE Y: \\远程机IP\d$ 登录密码 /user:domain\登录用户 set sourcePath="Y:\DOAutomatio ...
- ios13--购物车优化
// // ViewController.m // 03-综合练习 // #import "ViewController.h" @interface ViewController ...
- Systick 更新
之前写的systick_config(loadvalue) 根据系统时钟为72Mhz来写的,如果system clock不是72MHz怎么办? 重新写了一下,先获取,系统时钟频率. //参数为ms v ...
- Linux文件属性相关补充及软硬连接
第1章 文件属性相关 1.1 文件的属性 1.1.1 扩展名 windows 通过扩展名区分不同的类型的文件 linux 扩展名是给人类看的 方便我们区分不同类型文件 .conf 配置文件 ...
- php自动加载的两个函数__autoload和__sql_autoload_register
一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: printit.class.php //文件 <?php class P ...
- 【Leetcode146】LRU Cache
问题描述: 设计一个LRU Cache . LRU cache 有两个操作函数. 1.get(key). 返回cache 中的key对应的 val 值: 2.set(key, value). 用伪代码 ...
- DataFrame入门案例(集团公司对人事信息处理场景)
我用一个集团公司对人事信息处理场景的简单案例,来作为入门,详细分析DataFrame上的各种常用操作,包括集团子公司的职工人事信息的合并,职工的部门相关信息查询.职工信息的统计.关联职工与部门信息的统 ...