`

 saltstack (一)安装部署自动化

阅读更多

开始学saltstack的时候是在现在一家做CDN加速的,同步下发的用到这个工具,下面我简单介绍和操作给大家看下。

Salt 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能:配置管理和远程执行。

Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。通过c/s的模型实现。服务器端对远程客户机的操作:

 

一、Saltstack架构概述

Saltstack基于C/S架构,服务端master和客户端minions ,其主要由以下部分组成:


 

Saltstack的安装配置

(1)两组服务器进行,操作系统版本为Centos release 6.4 ,RHEL 也可以。

(2)安装这个先安装下epel由于现在网络RHEL官网yum源还没有 saltstack的安装包支持。因此先安装epel作为部署saltstack的默认yum源。

CenOs 5 版本:  rpm -Uvh 下载地址:http://ftp.linux.ncsu.edu/pud/epel/6/i386/epel-release-5-4.noarch.rpm     

CenOs 6 版本:  rpm -Uvh 下载地址:http://ftp.linux.ncsu.edu/pud/epel/6/i386/epel-release-6-8.noarch.rpm 

百度云也可以去下载,我的是centos 64位的 http://pan.baidu.com/s/1eQGWboI

默认配置文件位于/etc/salt/master ,默认不需要更改该配置文件。master端有两个端口需要在iptables上放行

(3)修改/etc/hosts (2.设置域名hosts文件#(当然可以直接使用IP))

  主机要添加被控机器的IP 和主机名

   192.168.2.81   test81.salt.cn

   192.168.2.83   test82.salt.cn


cat /etc/hosts 192.168.2.81 test81.salt.cn 192.168.2.82 test82.salt.cn 192.168.2.83 test83.salt.cn

(1) 主服务器 (主控端) ip:192.168.2.11

#yum install -y salt-master     (安装salt-master)

#chkconfig salt-master on     设置开机启动

#service salt-master start     启动salt服务

(2)从服务器安装 (被控端)ip : 192. 168 . 2 .81

#yum install salt-minion -y (安装salt-minion)

#chkconfig salt-master on  设置开机启动

#service salt-master start  启动salt服务

到这里已经安装完成。

 Saltstack 防火墙配置

  (1) 在主控端添加TCP 4505,TCP 4506 的规则,而在被控端无须配置防火墙,原理是被控端直接与主控端的zeromp建立链接。 接收

广播道任务信息并执行,具体操作是添加两条iptables规则:

-A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT

-A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT

spacer.gif部署要求:两台机器网络互通,最好关闭防火墙。关闭selinux.

在启动下服务。

Saltstack 配置及安装效验.

Saltsatack 分两种,一种为master (主控制),另一端为minion (被控端),安装完毕后需要对两种角色的配置文件进行修改。

具体说明如下:

(1) master 主控端配置

 master: 服务端主机名

id: 客户端主机名

配置文件注意格式统一

master:test81.salt.cn
id:test82.salt.cn

82.salt.cn

服务端配置

主控端基本设置
编辑配置文件 /etc/salt/master,修改如下所示配置项,去掉前面的注释符

interface: 0.0.0.0
log_file: /var/log/salt/master      # 记录主控端运行日志
key_logfile: /var/log/salt/key      # 记录认证证书日志

客户端配置

受控端基本设置
编辑配置文件 /etc/salt/minion,修改如下所示配置项,去掉前面的注释符#

master: 192.168.23.21        # 设置主控端
IPid: ubuntu-server-001    # 设定受控端编号
log_file: /var/log/salt/minion  # 记录受控端运行日志
key_logfile: /var/log/salt/key  # 记录认证证书日志

三、认证

 

和puppet一样, salt 的 master 和 minions 是通过证书通信的,故存在证书的信任颁发问题。

在master端:salt-key -L 查看当前需要接受的keys(master和minions都需要把服务开启)

 

salt-key -a test82.salt.cn  接受test82.kktalk.cn的

 

salt-key -A  #接受所有请求的证书

如果对客户端信任,可以让master自动接受请求,在master端/etc/salt/master配置

 

auto_accept: Tru

检测Master与两个Minion通讯是否正常:

出现 True 说明服务端到客户端通信正常,基础环境搭建成功。

四、简单例子

在minions端安装httpd

配置  /etc/salt/master文件:

#file_roots   Saltstack相关配置文件全部都在这个目录下

file_roots:
 base:
   - /srv/salt
 dev:
   - /srv/salt/dev

默认没有这个目录,需要创建 创建目录mkdir -p  /srv/salt

Saltstack必须要有入口文件: /srv/salt/top.sls

 

Saltstack使用salt state system,它的核心是写sls(SaLt State file)文件,sls文件默认格式是YAML格式(以后会支持XML),并默认使用jinja模板,YAML与XML类似,是一种简单的适合用来传输数据的格式,而jinja是根据django的模板语言发展而来的语言,简单并强大,支持for if 等循环判断。salt state主要用来描述系统,软性,服务,配置文件应该出于的状态,常常被称为配置管理!

通常state,pillar,top file会用sls文件来编写。state文件默认是放在/srv/salt中,它与你的master配置文件中的file_roots设置有关

注意:sls遵从YAML规范, 它使用到两个空格代替tab,: 或 – 后面要有空格。(这里被坑过)

sls文件

 

sls文件写好以后,在master执行命令 salt “test82.salt.cn” state.highstate

 

出现Failed:0,表示执行成功(我上图是已经执行成功过,再次执行)

在minions查看

 

[root@test82 ~]# rpm -qa|grep httpd
httpd-2.2.15-29.el6.centos.x86_64
httpd-tools-2.2.15-29.el6.centos.x86_64

httpd包已经安装成功

如果要在minions端执行,需要执行命令:   salt-call state.highstate  

 

分享到:
评论

相关推荐

    linux-SaltStack自动化部署KubernetesHA

    SaltStack在自动化部署Kubernetes HA集群时,通过编写Salt States,可以自动完成各个组件的安装、配置和初始化,大大简化了复杂的手动部署流程。它可以处理如证书生成、配置文件模板化、服务启动和健康检查等一系列...

    linux-SaltStack自动化部署Kubernetes

    **Linux开发-其它:SaltStack自动化部署Kubernetes v1.9.3** 在现代云原生环境中,Kubernetes(简称K8s)作为容器编排的首选平台,因其强大的服务发现、自动伸缩和资源管理能力而备受青睐。在部署如此复杂的系统时...

    linux-SaltStack通过kubeadm自动化部署Kubernetes

    标题中的“Linux SaltStack通过kubeadm自动化部署Kubernetes”揭示了本次讨论的核心:如何利用开源自动化配置管理工具SaltStack来简化Kubernetes集群的部署,特别是借助kubeadm这个官方提供的轻量级工具。...

    自动化运维工具SaltStack的研究与自动化运维平台建设方法分析.pdf

    SaltStack 是一种自动化运维工具,可以有效地实现服务器之间的配置管理、批量部署、远程执行等功能。 SaltStack 的二次开发和自动化运维平台的建设可以提高服务器的运维效率和质量,满足当前大数据市场的相关需求。

    centos-7.2下saltstack的安装部署

    非常详细的saltstack安装与部署,以及一些常用的操作和命令,非常适合刚接触的同学去学习。

    自动化运维工具SaltStack的研究与自动化运维平台建设方法分析.docx

    【自动化运维工具SaltStack的研究与自动化运维平台建设方法分析】 自动化运维工具SaltStack是现代IT环境中用于高效管理大规模服务器集群的重要工具。随着云计算和虚拟化技术的发展,传统的手动运维方式已经无法满足...

    saltstack自动化运维使用详解

    SaltStack 是基于 Python 开发的 C/S 架构的一款批量管理工具,具有轻松部署、快速管理、安全可靠等特点。下面是 SaltStack 的详细知识点: 架构模式 SaltStack 采用 C/S 架构模式,Master 端作为控制中心,...

    saltstack安装配置和使用

    通过以上步骤,您可以成功地搭建起 SaltStack 环境,并开始利用其强大的功能来自动化您的运维任务。无论是执行批量命令、集中管理配置还是监控系统状态,SaltStack 都能提供高效而可靠的解决方案。

    weblogic 11g静默安装以及saltstack自动化安装

    ### WebLogic 11g静默安装与SaltStack自动化部署详解 #### 一、WebLogic 11g静默安装概述 **WebLogic Server** 是一款由Oracle公司开发的企业级应用服务器,它提供了丰富的功能来支持Java EE应用程序的运行。在...

    自动化安装部署视频

    本资源"自动化安装部署视频"可能涵盖了一系列关于如何实现这一目标的教程。尽管描述部分为空,但从标签“源码”和“工具”我们可以推测,这个压缩包可能包含了一些实际操作的源代码示例和使用的工具介绍。 首先,...

    SaltStack安装配置

    SaltStack是一个基于Python的自动化工具,用于管理和配置服务器集群。下面将详细介绍SaltStack的安装配置过程。 SaltStack安装 在CentOS 6.5 x86 64操作系统上安装SaltStack需要满足以下条件: 1. 主控端服务器...

    saltstack一键部署(安装包,脚本)

    SaltStack 是一款强大的自动化运维工具,它采用客户端/服务器(C/S)架构,允许管理员对大规模的服务器集群进行配置管理、远程执行任务和状态检查。本文将深入探讨 SaltStack 的核心概念、工作原理以及如何使用提供...

    saltstack部署、配置心得及示例文档

    SaltStack 是一款强大的服务器基础架构管理工具,专为自动化运维设计。它基于 Python 开发,利用 ZeroMQ 作为轻量级消息队列与其他 Python 库(如 Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)协同...

    salt-zabbix, 基于saltstack,结合zabbix完成服务自动化部署及监控.zip

    1. **自动部署Zabbix**:使用 SaltStack 可以自动化安装、配置 Zabbix 服务器和代理,确保所有组件正确设置并运行。 2. **配置同步**: SaltStack 可以定期检查 Zabbix 配置文件,确保它们与预期一致,避免手动维护...

    saltstack2018最新rpm离线包

    总的来说,SaltStack 2018离线包为IT运维人员提供了一种高效、安全的自动化管理解决方案,特别是对于那些不能或不想在线安装的环境,这样的离线包无疑是一个理想的选择。通过熟练掌握 SaltStack 的使用,我们可以...

    SaltStack自动化运维工作原理及安装配置手册.docx

    SaltStack 自动化运维工作原理...SaltStack 自动化运维工作原理及安装配置手册提供了一个详细的指南,帮助用户快速上手 SaltStack 并将其应用于实际的运维工作中,从而提高运维效率,降低运营成本,确保操作的安全性。

    saltstack安装zabbix_client

    SaltStack作为一种强大的配置管理和自动化部署工具,可以在企业环境中快速安装和配置各种服务。Zabbix作为一款开源的企业级监控解决方案,能够帮助运维人员实时监控服务器、网络设备和应用的运行状态。本文将介绍...

    linux运维笔记:Saltstack自动化运维与实战.docx

    Linux 运维笔记:Saltstack 自动化运维与实战 Saltstack 是一个服务器基础架构集中化管理平台,它...Saltstack 是一个功能强大且扩展性强的自动化运维工具,它可以帮助运维人员提高工作效率、规范业务配置与操作。

    赵班长-基于SaltStack的自动化运维实践

    【基于SaltStack的自动化运维实践】是一篇关于赵班长在运维领域的专业知识分享,重点围绕SaltStack这一自动化运维工具展开。赵班长,本名赵舜东,是中国SaltStack用户组的发起人,拥有丰富的运维背景,从指挥自动化...

    自动化安装包

    在提供的"AutoItLibrary-1.1"这个文件名中,我们可以推测这是一个自动化工具的库,可能是用于扩展某些自动化框架,比如Python的Robot Framework,它可能包含了一系列与自动化安装相关的函数和模块,方便开发者编写...

Global site tag (gtag.js) - Google Analytics