saltstack

SaltStack快速了解

孤者浪人 提交于 2020-03-20 08:28:17
1. 介绍 基于Python开发的一套C/S架构配置管理工具,底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。 2. 环境准备 2.1 安装 本文采用salt-bootstrap方式安装。salt-bootstrap是SaltStack的一个单独项目,主要用于解决多平台一键部署SaltStack环境 下载安装脚本 curl -L https://bootstrap.saltstack.com -o install_salt.sh 安装salt-master sh install_salt.sh -M #安装最新stable版本的salt-master和salt-minion 安装salt-minion sh install_salt.sh #安装最新stable版本的salt-minion 2.2 配置 (1) 所有master和minion节点配置hosts文件(生产环境使用DNS) 主机名 IP 说明 node1 172.16.37.23 Master node2 172.16.37.35 Minion node3 172.16.37.41 Minion node4 172.16.37.39 Minion node5 172.16.37.43 Minion (2) Master防火墙规则 salt master启动后默认会监听两个端口:

SaltStack实践案例一

浪子不回头ぞ 提交于 2020-03-17 18:49:14
某厂面试归来,发现自己落伍了!>>> 通过SaltStack的配置管理来实现一个“中小型web架构”的自动化部署和配置管理,主要包括以下功能和服务: 系统初始化 Haproxy服务 Keepalived服务 Nginx服务 PHP(FastCGI)服务 Memcached服务 按照本案例的思路,我们将按照系统初始化、功能模块化、业务模块这样的设计思路来进行设计和实施: 系统初始化:指操作系统安装完毕之后,需要使用到的初始配置,比如安装监控代理、调整内核参数、设置域名解析等 功能模块:指的是生产用到的应用,比如Nginx、PHP、Haproxy、Keepalived等这类应用服务的安装和管理,每一个功能完美创建一个目录来存放,我们把这个目录的集合称之为“功能模块” 业务模块:在功能模块中我们编写了大量基础的功能状态,在业务层面直接进行引用,所以功能模块就是尽可能的全、而且独立。而业务模块,不同的业务类型就可以在Include功能模块里面的安装和部署,每个业务使用自己独特的配置文件等。最终在top.sls里面我们只需要给某个Minion指定一个业务的状态即可。 一、环境规划 环境规划包含实验环境规划SaltStack环境。 1.实验环境: salt-master-1.example.com 10.0.241.122 Master salt-minion-1.example.com 10

SaltStack实践案例三

淺唱寂寞╮ 提交于 2020-03-17 18:37:03
某厂面试归来,发现自己落伍了!>>> 5.PHP Redis模块 [root@salt-master-1 ~]# cd /srv/salt/prod/php/files/ [root@salt-master-1 files]# wget # [root@salt-master-1 files]# cat /srv/salt/prod/php/php-redis.sls redis-plugin: file.managed: - name: /usr/local/src/2.8.23.tar.gz - source: salt://php/files/2.8.23.tar.gz - user: root - group: root - mode: 755 cmd.run: - name: cd /usr/local/src && tar zxf 2.8.23.tar.gz && cd 2.8.23 && /usr/local/php-fastcgi/bin/phpize && ./configure --with-php-config=/usr/local/php-fastcgi/bin/php-config && make && make install - unless: test -f /usr/local/php-fastcgi/lib/php/extensions/*

技术沙龙|破冰区块链技术,从钱包和智能合约开发入门区块链(西安)

≡放荡痞女 提交于 2020-03-09 14:47:22
身在区块链行业,最近这几个月有一种尘归尘土归土的感觉,随着大众对区块链热度的下降,对于区块链技术圈来说,倒是一件好事。 回归区块链技术本源,不可篡改的技术特性有了越来越多的应用场景,就像几年前的人工智能、大数据一样,真正的技术人才仍然千金难求。 对于数百万的软件开发从业者来说,掌握一些区块链技术,会打开新的技术视角,带来更多技术解决方案,而在区块链技术入门上,钱包开发和智能合约是两个既基础,又重要的,但又相对简单的区块链知识。 11月24日,HiBlock区块链社区在西安发起一场“破冰区块链技术”的沙龙活动 ,邀请胡键和鲍帅两位老师分别从以太坊钱包开发和编写安全的solidity智能合约两个话题分享区块链技术入门方式。此外,还有冯宇老师带来技术视频制作小技巧。 1 时间地点 主题:破冰区块链技术,从钱包和智能合约开发入门区块链 **时间:**11月24日 13:30-17:30 地址 : 西安市高新区沣惠南路36号橡树街区B-10101,哈希屋 (32路;35路;184路;260路;261路;261路区间;280路;324路;411路;高新1号线;高新4号线;高新9号线;高新草堂专线到科技六路中段下车) 本次活动 免费 参加,点击" 阅读原文 "即可报名 2 分享内容 话题1:使用Angular开发以太坊钱包 钱包是区块链应用的必备组件之一,对于任何意图入门区块链开发的开发者来讲

SaltStack 自动化运维实战

∥☆過路亽.° 提交于 2020-03-09 11:56:44
最新版实战 Latest release: 3000 (February 10, 2020) 参考saltStack官方文档 ON THE SALT MASTER Run these commands on the system that you want to use as the central management point. curl -L https://bootstrap.saltstack.com -o install_salt.sh sudo sh install_salt.sh -P -M Your Salt master can manage itself, so a Salt minion is installed along with the Salt master. If you do not want to install the minion, also pass the -N option. ON EACH SALT MINION Run these commands on each system that you want to manage using Salt. curl -L https://bootstrap.saltstack.com -o install_salt.sh sudo sh install_salt.sh -P

Centos部署自动化软件

Deadly 提交于 2020-03-04 19:03:41
一 安装salt 1.1 安装指定版本的salt 解决pycryptodome的上游错误 rpm -e --nodeps python2-pycryptodomex yum install python-crypto 运行命令以安装SaltStack存储库和密钥: rpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/archive/2016.11.10/SALTSTACK-GPG-KEY.pub 配置salt yum源 more /etc/yum.repos.d/saltstack.repo [saltstack-repo] name=SaltStack repo for RHEL/CentOS $releasever baseurl= https://repo.saltstack.com/yum/redhat/$releasever/$basearch/archive/2016.11.10 enabled=1 gpgcheck=1 gpgkey= https://repo.saltstack.com/yum/redhat/$releasever/$basearch/archive/2016.11.10/SALTSTACK-GPG-KEY.pub 清除yum缓存 yum clean expire-cache

saltstack之return与job

◇◆丶佛笑我妖孽 提交于 2020-03-04 09:31:00
return和job这两种方式都是对执行结果的返回值进行处理,这个处理可以是是返回给别的程序(sys.list_returners 查看)也可以是存储到数据库中 两者又有一定的区别,假设现在需要将处理结果,存储到数据库中,那么 return的执行流程是 主控端也就是master端对minion并行发出指令,minion端执行这个命令后,将执行的结果返回给主控端,同时将数据存储到数据库中(在这个之前需要数据库对minion进行授权,使他能连接到数据库) job return是由minion直接连接到数据库服务器的,而job则是由master与服务器进行连接的,执行完master发出的指令后,将结果返回给master,master将这个结果缓存到本地再将结果存储到数据库服务器上 SaltStack组件之return //查看所有return列表 [root@localhost salt]# salt '*' sys.list_returners 192.168.161.133: - carbon - couchdb - etcd - hipchat - local - local_cache - multi_returner - slack - smtp - sqlite3 - syslog //安装模块Mysql-python [root@localhost salt]# salt

4.4 Saltstack

ぃ、小莉子 提交于 2020-03-02 10:24:03
文章目录 1. salt-ssh介绍 1.1 salt-ssh的特点 1.2 salt-ssh远程管理的方式 2.salt-ssh管理 2.1 在master上安装salt-ssh 2.2 通过使用用户密码的ssh实现远程管理 1. salt-ssh介绍 salt-ssh可以不需要在受控机上安装salt-minion客户端也能够实现管理操作。 1.1 salt-ssh的特点 远程系统需要Python支持,除非使用-r选项发送原始ssh命令 salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-ssh salt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需要ZeroMQ和agent 请注意,由于所有与Salt SSH的通信都是通过SSH执行的,因此它比使用ZeroMQ的标准Salt慢得多 1.2 salt-ssh远程管理的方式 salt-ssh有两种方式实现远程管理: 一种是在配置文件中记录所有客户端的信息,诸如 IP 地址、端口号、用户名、密码以及是否支持sudo等; 另一种是使用密钥实现远程管理,不需要输入密码。 2.salt-ssh管理 2.1 在master上安装salt-ssh [root@node01 yum.repos.d]# yum -y install salt-ssh 2.2

Linux saltstack的return和job_cache

大憨熊 提交于 2020-03-01 01:40:20
文章目录 1. SaltStack组件之return 1.1 return流程 2. job cache 2.1 job cache流程 2.2 job管理 1. SaltStack组件之return return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的return后,只需在salt命令后面指定return即可。 1.1 return流程 在所有minion上安装Mysql-python模块 [root@master ~]# salt '*' pkg.install MySQL-python 192.168.69.202: ---------- MySQL-python: ---------- new: 1.2.5-1.el7 old: [root@master ~]# salt '*' cmd.run 'rpm -qa|grep MySQL-python' 192.168

SaltStack使用salt-ssh模式-第十一篇

一世执手 提交于 2020-02-29 16:26:11
salt-ssh介绍 1.salt-ssh 是 0.17.0 新引入的一个功能,不需要minion对客户端进行管理,也不需要master。 2.salt-ssh 支持salt大部分的功能:如 grains、modules、state 等 3.salt-ssh 没有使用ZeroMQ的通信架构,执行是串行模式 类似 paramiko、pssh、ansible 这类的工具 Roster使用 salt-ssh需要一个名单系统来确定哪些执行目标,Salt的0.17.0版本中salt-ssh引入roster系统 roster系统编译成了一个数据结构,包含了targets,这些targets是一个目标系统主机列表和或如连接到这些targets 配置文件如下 # target的信息 host: # 远端主机的ip地址或者dns域名 user: # 登录的用户 passwd: # 用户密码,如果不使用此选项,则默认使用秘钥方式 # 可选的部分 port: #ssh端口 sudo: #可以通过sudo tty: # 如果设置了sudo,设置这个参数为true priv: # ssh秘钥的文件路径 timeout: # 当建立链接时等待响应时间的秒数 minion_opts: # minion的位置路径 thin_dir: # target系统的存储目录,默认是/tmp/salt-<hash> cmd