saltstack自动化部署——httpd服务

本篇博客承接上篇saltstack安装部署
部署好服务之后就可以进行服务的自动化部署了,下面以自动化部署为例,介绍一下saltstack自动化部署的文件编写。

编写一个sls文件

[root@server1 ~]# mkdir /srv/salt
[root@server1 ~]# cd /srv/salt/			##创建主目录
[root@server1 salt]# mkdir httpd		##创建服务主目录
[root@server1 salt]# cd httpd/
[root@server1 httpd]# ls
[root@server1 httpd]# vim install.sls   ##编写自动化部署脚本
httpd:				##服务名称
  pkg.installed		##安装

写一个简单的安装sls文件,测试一下。

[root@server1 httpd]# salt server2 state.sls httpd.install		##因为创建的目录是

在这里插入图片描述
推送,在server2安装httpd,这里检测到我之前已经安装了。

[root@server1 httpd]# vim install.sls

在这里插入图片描述
这里是安装多个软件的写法,编写时每一级的间隔是两个空格。

[root@server1 httpd]# salt server2 state.sls httpd.install

在这里插入图片描述
推送。

[root@server1 httpd]# vim install.sls 
httpd-install:
  pkg.installed:
    - pkgs:
      - httpd
      - php
      - httpd-tools

  service.running:				  ##开启httpd服务
    - name: httpd
    - enable: true
    - reload: true
[root@server1 httpd]# salt server2 state.sls httpd.install

在这里插入图片描述
推送成功。
在这里插入图片描述
在服务的主目录创建一个files目录,用来存放httpd服务的主配置文件。

[root@server1 httpd]# vim install.sls
httpd-install:
  pkg.installed:
    - pkgs:
      - httpd
      - php
      - httpd-tools

  service.running:
    - name: httpd
    - enable: true
    - reload: true
    - watch:
      - file: /etc/httpd/conf/httpd.conf

/etc/httpd/conf/httpd.conf:
  file.managed:
    - source: salt://httpd/files/httpd.conf					##存放主配置文件的目录。
    - user: root
    - group: root
    - mode: 644
[root@server1 httpd]# vim files/httpd.conf

在这里插入图片描述
同样修改端口。

[root@server1 httpd]# salt server2 state.sls httpd.install

在这里插入图片描述
推送。
在这里插入图片描述
在远程主机查看,端口修改成功。
和ansible类似,我们在编写sls文件时可以将每个功能分开写,如,将上面的install.sls文件做一下修改:

[root@server1 httpd]# vim install.sls
httpd-install:
  pkg.installed:
    - pkgs:
      - httpd
      - php
      - httpd-tools

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

将启动服务的部分删除,在写入一个新的文件中。

[root@server1 httpd]# vim service.sls 
include:				## 包含
  - httpd.install					

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

写启动服务部分,要包括前面写的install.sls文件。

[root@server1 httpd]# salt server2 state.sls httpd.service

在这里插入图片描述
推送service.sls文件。

猜你喜欢

转载自blog.csdn.net/qq_41961805/article/details/91556936