salt stack安装与使用

Saltstack三大功能
远程执行(执行远程命令)
配置管理(状态管理)
云管理

Saltstack特征
1)部署简单、方便;
2)支持大部分UNIX/Linux及Windows环境;
3)主从集中化管理;
4)配置简单、功能强大、扩展性强;
5)主控端(master)和被控端(minion)基于证书认证,安全可靠;
6)支持API及自定义模块,可通过Python轻松扩展。

Master与Minion认证
1)minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和 minion.pub(public key),然后将 minion.pub发送给master。
2)master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的 public key,然后master就能对minion发送指令了。

Master与Minion的连接
SaltStack master启动后默认监听4505和4506两个端口。4505(publish_port)为saltstack的消息发布系统,4506(ret_port)为saltstack客户端与服务端通信的端口。如果使用lsof 查看4505端口,会发现所有的minion在4505端口持续保持在ESTABLISHED状态。
1. saltstack安装配置
        服务端:
            IP:122.114.73.247   Hostname:doupo.com
        客户端:
            IP:122.114.154.79	   Hostanme:cangqiong.com

2.  配置FQDN,让ip和主机名对应   vim /etc/hosts
            122.114.73.247   doupo.com doupo
            122.114.154.79	 cangqiong.com cangqiong
            scp /etc/hosts [email protected]:/etc/

3.  关闭防火墙和selinux
        服务端:
            yum install epel-release -y  #安装 epel源
            yum install salt-master salt-minion -y  #安装服务端和被监控端服务
        客户端:
            yum install epel-release -y && yum install salt-minion –y
#被控端:安装被监控端服务
        服务端配置:
            vim /etc/salt/minion
            在16行增加
            master: 122.114.73.247   #服务端地址
            systemctl start salt-master
            systemctl start salt-minion
        客户端:
            vim /etc/salt/minion
            在16行增加:master: 122.114.73.247   #服务端地址
            systemctl start salt-minion
            ps -ef | grep salt 查看进程
4.  配置认证(在服务端操作)
            salt-key -a cangqiong.com    #对客户端主机进行签名
            salt-key -A  #对所有主机进行签名   -d 删除指定的主机
5.  测试主机是否在线
            salt ‘*‘ test.ping   #对所有签名的客户端进行ping
            salt ‘cangqiong.com‘ test.ping
            salt ‘qiongcang.com‘ cmd.run ‘system start httpd‘ #远程执行命令
6.  saltstack之grains
        GRAINS 组件是saltstack中非常重要的一个组件,其主要用于记录Minion的一些静态信息,如比:CPU、内存、磁盘、网络等。grains信息是每次客户端启动后自动上报给master的,一旦这些静态信息发生改变需要重启minion 或者 重新同步下 grains。
        salt ‘cangqiong‘ grains.ls   #列出所有的grains项目名称
        salt cangqiong grains.items  #列出所有的grains项和对应的值
     启动grains的信息并不是动态的,并不会时时变更,它只是在minion启动时收集到的,我们可以根据grains收集到的一些信息,做配置管理工作,可以支持自定义一些监控项

7.  自定义grains
        需要在客户端上添加文件grains
            vim /etc/salt/grains
            role:client
            env:test
            myname:cangqiong Linux
            myhostname:cangqiong
            systemctl restart salt-minion
            执行salt cangqiong grains.items  或者salt cangqiong grains.item env查看       还可以使用salt -G env:test cmd.run ‘w‘ salt -G env:test cmd.run ‘id‘

8.  saltstack之pillar
        grains用于存储静态不易变更的数据,而pillar一般用来存储动态的、敏感的数据;通过minion端和master端都可以配置设置或获取grains信息,而pillar信息只能在master端配置,再到minion端执行。
pillar和grains不一样,是在master上定义的,并且是针对minion定义的一些信息,可以自定义变量等

        自定义配置pillar过程:
            vim /etc/salt/master
            找到pillar_roots取消下面三行的注释
            pillar_roots:
                base:
                    - /srv/pillar
        创建pillar文件的存放目录:
            mkdir -p /srv/pillar
            vim test.sls                      vim /srv/pillar/top.sls
            conf: /etc/123.conf            base:
            myname: saltstack-server        ‘cangqiong.com‘:
                                                                    - test
            systemctl restart salt-master
            salt ‘*‘ saltutil.refresh_pillar   #刷新获取新状态
            salt ‘*‘ pillar.items     #查看items

  

  

 

  

原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/9648164.html

时间: 2024-10-06 10:27:48

salt stack安装与使用的相关文章

salt stack 工具之一——远程命令

salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控制服务器上,用于发出运维指令: salt-minion,部署在所有需要批量运维的线上服务器上: salt安装 服务端:yum install salt-master -y 客户端:yum install salt-minion -y 配置文件: 服务端:/etc/salt/master 服务端配置:

Docker培训课程 - 谈docker,chef,puppet,ansible,salt stack延伸

Docker培训课程 - 谈docker,chef,puppet,ansible,salt stack延伸 Docker training course - Discuss docker, chef, puppet, ansible, salt stack Hangout本文翻译自:http://www.slideshare.net/Flux7Labs/docker-training-course-discuss-docker-chef-puppet-ansible-salt-stack-han

centos 7 搭建saltstack以及salt stack模块的用法

一.archive模块实现系统层面的压缩包调用,支持gzip.gunzip.rar.tar.unrar.unzip等 archive.cmd_unzip archive.cmd_zip archive.gunzip archive.gzip archive.rar archive.tar archive.unrar archive.unzip archive.zipcmd模块实现远程的命令行调用执行(默认具备root操作权限,使用时需评估风险) cmd.exec_code cmd.exec_co

salt stack 入手

salt 的安装就不写了,网上很多,记录下自己踩得坑吧. 之前安装好后,配置了半天老是不行,后从51上看了一个入门教学视频才知道,配置文件是yaml,又搜索了yaml通用格式,结合python本身就是根据空格和TAB的语法格式,总之:配置过程中空格和缩进很重要还有忘记TAB键 箭头 的地方都得注意空格 另外写这个 用  一个emediter 的编辑器挺好 一直希望在vim中显示空格,找了一圈没找到,有知道怎么让vim显示空格的同行请留言!

Using Vagrant and Salt Stack to deploy Nginx on DigitalOcean

The base Vagrantfile Salting the image Adding Digital Ocean Deploying the image Managing the deployed image Reprovisioning the image One server does not an infrastructure make I believe that managing your infrastructure can and should be fun. Recentl

salt stack

#步骤1:升级python yum update python #步骤2:下载yum源 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm #步骤3:分别安装salt-master和salt-minion yum install salt-master yum install salt-minion #步骤4:修改配置文件 vi /etc/salt/master interface:

第一天salt stack 笔记

Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统.通过c/s的模型实现.服务器端对远程客户机的操作: Saltstack部署: master:192.168.63.163     www.oms.com minion:192.168.63.129     www.omsclient.com 部署要求:两台机器网络互通,最好关闭防火墙.关闭selinux. 1.修改/etc/hosts [[email protected] salt]# ca

Salt api安装及配置

一.系统环境 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 二.安装及配置 1.salt-api所有操作均在master端 yum -y install salt-api pyOpenSSL 2.配置salt-api 修改/etc/salt/master文件 sed -i '/#default_include/s/#default/default/g' /etc/salt/master 如果没有目录需要创建 mkdir

Elastic Stack 安装

Elastic Stack 是一套支持数据采集.存储.分析.并可视化全面的分析工具,简称 ELK(Elasticsearch,Logstash,Kibana)的缩写. 安装Elastic Stack 时,必须相关组件使用相同的版本,例如:如果您使用Elasticsearch 6.3.0,则安装Beats 6.3.0,Elasticsearch Hadoop 6.3.0, Kibana 6.3.0和Logstash 6.3.0. 安装顺序 ElasticSearch Kibana LogStash