系统相关
首页 > 系统相关> > saltstack安装及自动化安装部署apache和nginx

saltstack安装及自动化安装部署apache和nginx

作者:互联网

saltstack:SaltStack是基于Python开发的一套C/S架构配置管理工具(服务器端称作Master,客户端称作Minion),它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。号称世界上最快的消息队列ZeroMQ使得SaltStack能快速在成千上万台机器上进行各种操作。
主要功能:Saltstack最主要的两个功能是:配置管理与远程执行,Saltstack不只是一个配置管理工具,还是一个云计算与数据中心架构编排的利器,Saltstack已经支持Docker相关模块在友好地支持各大云平台之后,配合Saltstack的Mine实时发现功能可以实现各种云平台业务的自动扩展
工作机制:Master和Minion都以守护进程的方式运行;Master监听配置文件里定义的ret_port(接收minion请求),和publish_port(发布消息)的端口;当Minion运行时,它会自动连接到配置文件里定义的Master地址ret_port端口进行连接认证;当Master和Minion可以正常通信后,就可以进行各种各样的配置管理工作了
自动化部署,在网络通信上有优势,saltstack最大的优势,不需要在agent端装任何东西。

salt 主机 调用模块.方法 指令
yaml语言规则:没有空格,注意缩进(2个空格)

声明(又是软件包的名字),在一个文件内是唯一的
在一个声明下调用多个模块。也可以一个声明一个模块
什么时候去reload。需要有个条件watch

hostnam ip role
server2 172.25.60.2 salt-master
server3 172.25.60.3 salt-minion
server4 172.25.60.4 salt-minion
vim /etc/salt/minion
     master: 172.25.60.2

在这里插入图片描述

 salt-key -L  ##查看钥匙
 salt-key -A   ##将钥匙添加到minion上
 salt-key -L

在这里插入图片描述

salt   '*'       cmd.run      'df -h'
salt   主机   调用模块.方法     指令

在这里插入图片描述

vim /etc/salt/master
file_roots:
	  base:
	    - /srv/salt

在这里插入图片描述
在这里插入图片描述

cd /srv/salt/
mkdir apache
cd apache/ 
vim install.sls  ##安装httpd
httpd:
  pkg.installed
 mkdir files
 cd files
 scp server3:/etc/httpd/conf/httpd.conf .   ##将httpd的配置文件放入该目录下。

在这里插入图片描述

httpd-install:
  pkg.installed:
    - pkgs:
      - httpd:
      - php:
      - httpd-tools

  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://apache/files/httpd.conf
    - user: root
    - group: root
    - mode: 644

在这里插入图片描述

include:
  - apache.install

httpd-service:
  service.running:
    - name: httpd
    - enable: true
    - reload: true
    - watch:
      - file: httpd-install

在这里插入图片描述

nginx-install:
  pkg.installed:
    - pkgs:
      - gcc
      - make
      - pcre-devel
      - zlib-devel

  file.managed:
    - name: /mnt/nginx-1.15.8.tar.gz
    - source: salt://nginx/files/nginx-1.15.8.tar.gz

  cmd.run:
    - name: cd /mnt && tar zxf nginx-1.15.8.tar.gz && cd nginx-1.15.8 && sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --prefix=/usr/local/nginx &> /dev/null && make  &> /dev/null && make install &> /dev/null 
    - creates: /usr/local/nginx

在这里插入图片描述

include:
  - nginx.install

/usr/local/nginx/conf/nginx.conf:
  file.managed:
    - source: salt://nginx/files/nginx.conf

nginx-service:
  file.managed:
    - name: /etc/systemd/system/nginx.service
    - soerce: salt://nginx/files/nginx.conf

  service.running:
    - name: nginx
    - enable: true
    - reload: true
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf
base:
  'server3':
    - apache.service
  'server4':
    - nginx.service

在这里插入图片描述

标签:httpd,salt,server3,nginx,install,apache,安装
来源: https://blog.csdn.net/qq_42311209/article/details/91629863