saltstack安装部署与入门使用

一、saltstack简介

     SaltStack 一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建.

本文不以最新版安装部署,以CentOS6.8_x64 python2.6.6 环境中 在epel源中稳定的版本进行yum安装 。如需要安装最新版本下载地址(readhat/CentOS系)https://repo.saltstack.com/index.html#rhel


采用两台安装搭建基本的环境。一台做master/minion  一台minion

两台防火墙要么关闭 要么加上允许本地网段白名单类似 :-A INPUT -s 172.16.3.0/24 -j ACCEPT

关闭selinux.


二、安装

1,安装epel扩展源

#yum install epel-release -y


2、安装saltstack master

# yum install salt-master sat-minion -y

修改主配置文件/etc/salt/master 内容如下:

1
2
3
4
5
6
7
8
9
10
# cat master |egrep -v '(^$|^#)'
interface: 0.0.0.0                 #侦听地址
file_roots:                        #文件根目录
   base:
     /srv/salt
     
# cat minion |egrep -v '(^$|^#)'
default_include: minion.d/*.conf      
master: 127.0.0.1                #和master在同一台
id : minion_local                 #标识


#service salt-master start

#service salt-minion start



2、安装minion(非master上)

#yum install epel-release -y

#yum install salt-minion -y

修改配置文件cat /etc/salt/minion

1
2
3
4
# cat minion |egrep -v '(^$|^#)'
default_include: minion.d/*.conf      
master: 172.16.3.147               #和master在同一台
id : minion_local                   #标识

 #service salt-minion start


三、master上添加minion

如里在master配置文件中打开

auto_accept: True

则所有的minon 将会自动被认证加入。自行考量。本次是手工添加

#salt-key -L

如图:Unaccepted Keys:中出现两个等待授权认证的minon

wKioL1nCEWiSowNXAAJb7y-as6g870.png

#salt-key -A   

输入y

接受所有minion认证

再次salt-key -L 查看已授权的minion会就看到

#salt "*" test.ping   #查看所有的活动在线的minion

如图:

wKiom1nCEmXRdW64AAN4yHTphR8191.png


到此基本的saltstack  master /minion 环境部署完成

四、saltstack常用操作

除了上面的添加minon和测试minion在线情况外,还有一些其他的模拟提供一些常用操作;

1、salt语法

salt [客户端id,即目标,支持正规表达式] [模块名,如state,cmd。其实都是salt的模块] [动作]

如: salt "*" test.ping       这里的"*"就是匹配的目标,表示 所有minion   test是模块 ping是动作

目标有以下常用的五种形式:

指定目标主要有五种方式

     a)、Global,即salt默认的匹配方式,能识别终端常用的通配符,如*代表所有

            如,salt '*' test.ping

     b)、List,列表,需-L指定。

            如,salt -L 'minion_local,minion_152' test.ping 其中minion_local,minion_152

            是完整的minion_id

     c)、-E 正则表达式匹配

            如,salt -E 'pre[1-7]' test.ping 会匹配pre1,pre2..pre7,并且匹配到左右minion_id

            里面含有1-7的,如pre-11,pre7也会匹配到,如果只匹配1-7可使用参照下面

            如,salt -E ^pre[1-7]$ test.ping或者 salt pre[1-7] test.ping

     d)、-C 混合模式,里面可以既有正则表达式也有列表等

            salt -C "minion_* or test_minion" test.ping 匹配所有minion开头,或者test_minion id的

     e)、分组,需要-N指定,其中组名就是上面/etc/salt/master.d/groups.conf文件里面配置的

            配置信息。如,salt -N apache test.ping


2、常用模块

然后是模块,主要介绍state,cmd,cp模块

注:想了解某个模块的功能或者具体参数可以

salt \* sys.doc [模块名,如cmd]

a)、cmd模块

       salt '*' cmd.run "echo $HOSTNAME"      这里可以远程执行shell命令,执行结果会返回

       wKiom1nCGS-hwOb4AAD-R8HCSHM305.png

b)、文件上传与下载

        salt "minion_152"  cp.get_file  salt://files/test.txt /tmp/test.txt

        将/srv/salt/files/test.txt  推送到minion_152 /tmp/下也叫test.txt

         wKioL1nCGWPx1eBuAAC1FuBkmro882.png

         到minion_152 tmp目录下查看

       wKioL1nCGgrhgDULAAC42ritap4031.png 

       同理可以通过 cp.push从minion上下载文件

        需要修改master中的   file_recv: True

       salt "minion_152" cp.push  /etc/fstab       #默认下到本地

                        /var/cache/salt/master/minions/minion-id/files目录

         wKiom1nCG_HgJEWIAAG_UhPyHl8141.png

其他的模块主参考官方文档。这里不再多说。










本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1967147,如需转载请自行联系原作者
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/493252

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。