saltstack自动化部署

1、安装。

salt是用python写的,安装过程中会安装好多python的包。

master端:

yum install salt-master 

slave端:

yum install salt-minion

配置:

master端:
搜索file_root去掉注释

[root@server1 ~]# vim /etc/salt/master
----
file_roots:
  base:
    - /srv/salt/
----
[root@server1 ~]# /etc/init.d/salt-master start
[root@server1 ~]# mkdir /srv/salt -p

slave端:

[root@server2 ~]# vim /etc/salt/minion
----
master: 172.25.5.1
----
[root@server2 ~]# /etc/init.d/salt-minion start
[root@server1 ~]# salt-key -L
Accepted Keys:
server1
server2
server3
server4
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@server1 ~]# 
[root@server1 ~]# salt-key -A
[root@server1 ~]# salt-key -a server2
[root@server1 ~]# salt '*' test.ping
server3:
    True
server4:
    True
server2:
    True
server1:
    True
[root@server1 ~]# 
用salt推送一个nginx(源码安装)
[root@server1 salt]# pwd
/srv/salt
[root@server1 salt]# tree nginx/
nginx/
├── file
│   ├── index.html  #默认发布文件
│   ├── nginx   #启动脚本
│   ├── nginx-1.8.1.tar.gz  #安装源码包
│   └── nginx.conf  #配置文件
├── install.sls     #安装脚本
└── service.sls     #服务脚本

1 directory, 6 files
[root@server1 salt]# 

install.sls文件

[root@server1 salt]# vim nginx/install.sls
-----
nginx-install:
  pkg.installed:
    - pkgs:
      - pcre-devel
      - openssl-devel
      - gcc

  file.managed:
    - name: /root/nginx-1.8.1.tar.gz
    - source: salt://nginx/file/nginx-1.8.1.tar.gz

  cmd.run:
    - name: cd /root && tar zxf nginx-1.8.1.tar.gz && cd nginx-1.8.1 && sed -i.bak 's/#define NGINX_VER          "nginx\/" NGINX_VERSION/#define NGINX_VER          "nginx"/g' ./src/core/nginx.h && sed -i.bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' ./auto/cc/gcc && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio &> /dev/null && make &>/dev/null && make install &>/dev/null
    - creates: /usr/local/nginx/

service.sls文件

[root@server1 salt]# vim nginx/service.sls
----
include:
  - nginx.install

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

nginx-service:
  file.managed:
    - name: /etc/init.d/nginx
    - source: salt://nginx/file/nginx
    - mode: 755
  service.running:
    - name: nginx
    - reload: True
    - watch:
        - file: /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/html/index.html:
  file.managed:
    - source: salt://nginx/file/index.html

运行:

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

这里写图片描述

这里写图片描述

也可以直接推送出负载均衡集群的,代码不较多,就不贴了。方法都是类似的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值