集中化管理平台saltstack——自动化实现apache的安装与配置

what-saltstack

1>是一个服务器基础架构集中化管理平台,具备配置管理,远程执行,监控等功能。

2>使用Python开发,部署简单,主从集中化管理,支持API和自定义模块.

3>由Master和Minion构成(基于证书验证),通过轻量级消息队列ZeroMQ进行通信。

how-saltstack

Saltstack的master端监听4505与4506端口,4505为salt的消息发布系统,4506为salt客户端与服务端通信的端口;

salt客户端程序不监听端口,客户端启动后,会主动连接master端注册,然后一直保持该TCP连接,master通过这条TCP连接对客户端控制,如果连接断开,master对客户端就无能为力了。当然,客户端若检查到断开后会定期的一直连接master端的。

安装saltstack

saltstack源可以通过epel现在,本机是自己做的yum源

在真机添加一个yum源
[[email protected] rhel6]# pwd/var/www/html/saltstack/rhel6[[email protected] rhel6]# createrepo .   #创建第三方yum源Spawning worker 0 with 7 pkgsSpawning worker 1 with 7 pkgsSpawning worker 2 with 7 pkgsSpawning worker 3 with 7 pkgsWorkers FinishedSaving Primary metadataSaving file lists metadataSaving other metadataGenerating sqlite DBsSqlite DBs complete

server3,server4:

yum 源配置:

vim /etc/yum.repos.d/rhel-source.repo

[salt]name=saltstackbaseurl=http://172.25.88.250/saltstack/rhel6gpgcheck=0

server3

yum install salt-master -y

[[email protected] ~]# ss -ntlaState      Recv-Q Send-Q        Local Address:Port          Peer Address:Port LISTEN     0      128                       *:4505   (发送)                  *:*     LISTEN     0      128                       *:4506   (订阅)                  *:*

server4

yum install salt-minion -y

[[email protected] ~]#vim /etc/salt/minion master: server3.lalala.com

还需要认证

[[email protected] ~]# salt-key -AThe following keys are going to be accepted:Unaccepted Keys:server4.lalala.comProceed? [n/Y] YKey for minion server4.lalala.com accepted..[[email protected] ~]# salt-key -LAccepted Keys:server4.lalala.comDenied Keys:Unaccepted Keys:Rejected Keys:

检验


[[email protected] yum.repos.d]# salt server4.lalala.com test.pingserver4.lalala.com:    True[[email protected] yum.repos.d]# salt ‘*‘ test.ping  #可以正则匹配server4.lalala.com:    True[[email protected] yum.repos.d]# salt -S 172.25.4.4 test.pingserver4.lalala.com:    True

可以指定其他主机的任何操作。。

[[email protected] ~]# salt server4.lalala.com cmd.run ‘df -h‘server4.lalala.com:    Filesystem                    Size  Used Avail Use% Mounted on    /dev/mapper/VolGroup-lv_root   19G  1.3G   17G   8% /    tmpfs                         499M   16K  499M   1% /dev/shm    /dev/vda1                     485M   33M  427M   8% /boot
[[email protected] yum.repos.d]# salt -S 172.25.88.4 cmd.run ‘cp /etc/passwd /mnt‘[[email protected] yum.repos.d]# salt -S 172.25.88.4 cmd.run ‘ls -l /mnt‘server4.lalala.com:    total 4    -rw-r--r-- 1 root root 1066 Apr 15 10:15 passwd

关于key

当初始化安装 minion 启动服务启动后

minion端生成一个秘钥对,并产生一个ID值,minion服务会安装ID值命名的公钥发送给 master ,直到接受为止;

master认证完毕后,会将minion 端发送来的,以ID值命名的公钥存放在 /etc/salt/pki/master/minions 目录中(无扩展名); master认证完毕后,会将自身的公钥发送给 minion,并存储为 /etc/salt/pki/minion/minion_master.pub.


用tree,查看master的目录树

[[email protected] salt]# pwd/etc/salt[[email protected] salt]# tree|-- cloud|-- cloud.conf.d|-- cloud.deploy.d|-- cloud.maps.d|-- cloud.profiles.d|-- cloud.providers.d|-- master|-- master.d|-- minion|-- minion.d|-- pki            #与密码相关|   |-- master|   |   |-- master.pem|   |   |-- master.pub|   |   |-- minions|   |   |   `-- server4.lalala.com    #已添加进来的主机.|   |   |-- minions_autosign|   |   |-- minions_denied|   |   |-- minions_pre|   |   `-- minions_rejected|   `-- minion|-- proxy|-- proxy.d`-- roster


被同步主机的目录

[[email protected] salt]# tree ..|-- cloud|-- cloud.conf.d|-- cloud.deploy.d|-- cloud.maps.d|-- cloud.profiles.d|-- cloud.providers.d|-- master|-- master.d|-- minion|-- minion.d|   `-- _schedule.conf|-- minion_id|-- pki|   |-- master|   `-- minion|       |-- minion_master.pub

安装apache状态模块

vim /etc/salt/master

534 file_roots: 535 base:536 - /srv/salt

vim /srv/salt/httpd/apache.sls

apache-install:   pkg.installed:    - name: httpd

检测与执行

[[email protected] httpd]# salt ‘‘ state.sls httpd.apache test=True 

[[email protected] httpd]# salt ‘‘ state.sls httpd.apache

server4.lalala.com:----------          ID: apache-install    Function: pkg.installed        Name: httpd      Result: True     Comment: Package httpd is already installed     Started: 14:13:13.995696    Duration: 832.407 ms     Changes:   

Summary for server4.lalala.com------------Succeeded: 1Failed:    0------------Total states run:     1Total run time: 832.407 ms


推送配置信息,在minion中缓存的位置

[[email protected] httpd]# pwd/var/cache/salt/minion/files/base/httpd[[email protected] httpd]# cat apache.sls apache-install:  pkg.installed:    - name: httpd


配置与应用

实现:

1.服务启动服务器更改apache文件

2.实现服务器更改配置文件,客户端触发更改,并且reload生效

mkdir  /srv/salt/httpd/files

vim apache.slsapache-install:  pkg.installed:    - pkgs:      - httpd      - httpd-tools

apache-config:  file.managed:    - name: /etc/httpd/conf/httpd.conf    - source: salt://httpd/files/httpd.conf    - mode: 644    - user: root    - group: root    - require:      - pkg: apache-install      - apache-service:  service.running:   - name: httpd   - enable: True   - reload: True     - watch:   #监控apache配置文件,一修改就reload     - file: apache-config

配置文件的端口进行更改,同步到client

vim /srv/salt/httpd/files/httpd.conf    改变默认端口Listen 8080
[[email protected] httpd]# salt ‘*‘ state.sls httpd.apacheserver4.lalala.com:----------          ID: apache-install    Function: pkg.installed      Result: True     Comment: All specified packages are already installed     Started: 11:42:54.769981    Duration: 445.517 ms     Changes:   ----------          ID: apache-config    Function: file.managed        Name: /etc/httpd/conf/httpd.conf      Result: True     Comment: File /etc/httpd/conf/httpd.conf updated     Started: 11:42:55.217486    Duration: 45.472 ms     Changes:                 ----------              diff:                  ---                    +++                    @@ -133,7 +133,7 @@                   # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)                   #                   #Listen 12.34.56.78:80                  -Listen 80                  +Listen 8080

                   #                   # Dynamic Shared Object (DSO) Support----------          ID: apache-service    Function: service.running        Name: httpd      Result: True     Comment: Service reloaded     Started: 11:42:55.395103    Duration: 75.042 ms     Changes:                 ----------              httpd:                  True

Summary for server4.lalala.com------------Succeeded: 3 (changed=2)Failed:    0------------Total states run:     3Total run time: 566.031 ms

查看文件两个配置文件的hash,相同

[[email protected] files]# md5sum httpd.conf b7ca7a0e786418ba7b5ad84efac70265  httpd.conf

[[email protected] files]# md5sum httpd.conf  b7ca7a0e786418ba7b5ad84efac70265  httpd.conf
时间: 2024-10-12 09:52:26

集中化管理平台saltstack——自动化实现apache的安装与配置的相关文章

4、python自动化运维——集中化管理平台Saltstack

集中化管理平台--Saltstack Saltstck作为服务器基础架构集中化管理平台,具备配置管理,远程执行,监控等功能.可以简单地理解为简化版的puppet,加强版的func.废话不多说,直接上手. Saltstack安装以及配置 安装所需要的组件 主控端:salt-master被控端:salt-minion 安装过程 1.安装所需要的epel作为部署saltstack的yum源:yum install -y epel 2.安装salt-master/salt-minionyum insta

集中化管理平台Saltstack

集中化管理平台Saltstack Saltstack是一个服务器基础架构集中化管理平台,开始于2011年的一个项目,具备配置管理.远程执行.监控等功能,一般可以理解成简化版的puppet和加强版的func.Slatstack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinja2.python-msgpack和PyYAML等)构建. 关于什么是Salt,请查阅官方说明:http://docs.saltstack.cn/t

centos6.5上部署集中化管理平台Saltstack!!!

项目背景: 通过部署Saltstsck环境,我们可以在成千上万的服务器上做到批量执行命令,根据不同业务特点我们可以进行配置集中化管理.分发文件.采集服务器数据.软件包管理.可以搭建我们自己的自动化运维平台,满足我们的不同场景下的需求. 实验环境: vmware workstation 11 centos6.5的系统下 Saltstack服务器:ip:192.168.0.27   防火墙关闭  setenforce 0 Saltstck被控端: ip:192.168.0.44   防火墙关闭  s

集中化管理平台Saltstack远程执行命令

官网:http://saltstack.com/ 国内:http://www.saltstack.cn/ 命令格式: salt '<操作目标>' <方法> <参数> 1.查看minion001主机使用: [[email protected] ~]# salt 'minion001' cmd.run 'free -m' minion001:                  total       used       free     shared    buffers

集中化管理平台Saltstack安装部署

Saltstack一般认为是puppet的简化版和func的加强版 安装: 部署环境: 角色 hostname ip 操作系统 python版本 master master 192.168.224.141 CentOS release 6.4 (Final) Python 2.6.6 minion001 minion001 192.168.224.142 CentOS release 6.4 (Final) Python 2.6.6 minion002 minion002 192.168.224

集中化管理平台saltstack学习--grains(3)

grains grains 这个类似puppet的facter 负责采集客户端一些基本信息,这个也完全可以自定义.一般从服务器端定义然后推下去,采集完后,再汇报上来. altstack里的Grains功能,是控制minion端的静态变量,在master端通过Grains可以获得minion对应的变量值. 查看minion的全部静态变量,可以通过如下实现: # salt '*' grains.ls JYD-test-3: - SSDs - biosreleasedate - biosversion

集中化管理平台Saltstack安装配置

1.安装 #yum install salt-master -y  或  yum install salt-minion -y #chkconfig salt-master on #service salt-master start 2.防火墙配置 #iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT ................................................

5、python自动化运维——集中化管理平台Ansible

集中化管理平台Ansible 简介:Ansible是一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台特点:1.部署简单,只需在主控端部署Ansible环境,被控端不用进行任何操作2.默认使用SSH协议对设备进行管理3.主从集中化管理4.提供一个Web管理界面和RESET API接口--AWX平台 Ansible安装及配置 1.安装ansible:yum install –y ansible 2.修改配置文件:/etc/ansible/hosts,添加主机IP. 193.192.168

Apache的安装部署配置

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器跨平台,高效和稳定 ,支持http超文本传输协议等多种服务功能 apache相关资源主配置文件 /etc/httpd/conf/httpd.conf子配置文件 /etc/httpd/conf.d/.conf默认发布目录 /var/www/html默认发布文件 index.html默认端口 80默认安全上下文 httpd_sys_content_t程序开启默认用户 apacheapache日志