Linux实战笔记----Saltsatck(一)

一、Saltstack部署

实验环境:三台虚拟机server1(master端)、server2(minion端)、server3(minion端),yum源zabbix库,saltstack库配置参见往期

server1中

yum install -y salt-master.noarch
systemctl enable --now  salt-master

在这里插入图片描述
server2 server3中

yum install -y salt-minion.noarch
cd /etc/salt/
vim minion

master:192.168.100.241

systemctl enable --now salt-minion.service 

在这里插入图片描述
在这里插入图片描述
master端执行命令允许minion连接
server1中

salt-key -L  #列出服务器节点
salt-key -A  #添加

在这里插入图片描述
在这里插入图片描述
master端测试与minion端的连接

yum install lsof -y
lsof -i :4505
salt '*' test.ping  #是指—L列出来的所有主机,检测一下是否有响应

在这里插入图片描述
master端安装python-setproctitle.x86_64

yum install python-setproctitle.x86_64 -y
systemctl restart salt-master.service

二、远程执行模块

sever1创建salt目录并建立zabbix-server子目录

mkdir /srv/salt/
cd /srv/salt
mkdir _modules
cd modules

master端

vim my_disk.py

def df():
    return __salt__['cmd.run']('df -h')

salt server2 saltutil.sync_modules
salt server2 my_disk.df

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

yum install -y tree
cd /var/cache/salt/minion
tree minion/

在这里插入图片描述

三、Apache自动安装配置

当salt目录下同时存在 apache/inin.sls 和apache.sls时,优先执行在上一级目录下的apache.sls。

master端

mkdir /srv/salt/apache
cd /srv/salt/apache
vim init.sls

apache:
  pkg.installed:
    - pkgs:
      - httpd
      - php
 
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://apache/httpd.conf
 
  service.running:
    - name: httpd
    - enable: true
    - watch:
      - file: apache

为server2修改apache端口

将server2的/etc/httpd/conf/httpd.conf 放到server1下/srv/salt/apache 下 并修改端口为8080
在这里插入图片描述

salt server2 state.sls apache

在这里插入图片描述

四、nginx 自动化安装

master端创建目录

mkdir  /srv/salt/nginx

编写安装文件init.sls

vim init.sls
nginx-install:
  pkg.installed:
    - pkgs:
      - gcc
      - openssl-devel
      - pcre-devel
 
  file.managed:
    - name: /mnt/nginx-1.20.1.tar.gz
    - source: salt://nginx/nginx-1.20.1.tar.gz
 
  cmd.run:
    - name: cd /mnt && tar zxf nginx-1.20.1.tar.gz && cd nginx-1.20.1 && se -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-threads --with-file-aio &> /dev/null && make &> /dev/null && make install &> /dev/null
    - creates: /usr/local/nginx

解压nginx安装包至nginx目录

tar zxf nginx-1.20.1.tar.gz
cd nginx-1.20.1/conf/

修改nginx配置:

vim nginx.conf

在这里插入图片描述
nginx自动化启动

cd /srv/slat/nginx
vim service.sls


include:

  - nginx

nginx-user:
  user.present:
    - name: nginx
    - shell: /sbin/nologin
    - home: /usr/local/nginx
    - createhome: false


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


nginx-service:
  file.managed:
    - name: /usr/lib/systemd/system/nginx.service
    - source: salt://nginx/nginx.service
    

  service.running:
    - name: nginx
    - enable: true

nginx启动文件

vim nginx.service


[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

运行salt server2 state.sls nginx.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值