实验环境

node1  192.168.56.11   角色  salt-master

node2  192.168.56.12   角色  salt-minon

完成内容

Salt远程安装Redis服务

步骤

在前面的文章中已经搭建好了salt-master和saltminion环境

一,在prod目录下创建redis相关的目录,存放状态文件
[root@linux-node1 ~]# cd /srv/salt/prod/
[root@linux-node1 prod]# mkdir modules/redis -p
[root@linux-node1 prod]# tree
.
└── modules└── redis

二,进入redis目录创建redis基础状态文件,这里我们用简单的rpm包按照为例
[root@linux-node1 redis]# cat redis-install.sls
redis-install:pkg.installed:- name: redis

三,有时候我们修改redis的配置文件或创建集群
[root@linux-node1 prod]# pwd
/srv/salt/prod
[root@linux-node1 prod]# mkdir redis-cluster
[root@linux-node1 prod]# cd redis-cluster/
[root@linux-node1 redis-cluster]# vi redis-master.sls
[root@linux-node1 redis-cluster]# cat redis-master.sls
include:- modules.redis.redis-installredis-master-config:file.managed:- name: /etc/redis.conf- source: salt://redis-cluster/files/redis-master.conf- user: root- group: root- mode: 644- template: jinja- defaults:REDIS_MEM: 1Gredis-master-service:service.running:- name: redis- enable: True- watch:- file: redis-master-config

四,按照redis取配置文件作为salt模板
[root@linux-node1 redis-cluster]# yum install redis
[root@linux-node1 redis-cluster]# cp /etc/redis.conf  /srv/salt/prod/redis-cluster/files/
[root@linux-node1 redis-cluster]# tree
.
├── files
│   └── redis.conf
└── redis-master.sls

五,重命名redis模板文件名
[root@linux-node1 files]# mv redis.conf redis-master.conf
[root@linux-node1 files]# pwd
/srv/salt/prod/redis-cluster/files

六,更改redis配置文件模板,bind也可以只监听内网端口
[root@linux-node1 files]# grep -E  'bind|daemonize|maxmemory' redis-master.conf  |grep -v ^#
bind 0.0.0.0
daemonize yes
maxmemory {{ REDIS_MEM }}

七,测试,因为是在prod目录下 需要添加 saltenv=prod环境变量
[root@linux-node1 redis-cluster]# salt 'linux-node2*' state.sls redis-cluster.redis-master test=True saltenv=prod
linux-node2.example.com:
----------ID: redis-installFunction: pkg.installedName: redisResult: NoneComment: The following packages are set to be installed/updated: redisStarted: 22:45:55.034779Duration: 2514.889 msChanges:
----------ID: redis-master-configFunction: file.managedName: /etc/redis.confResult: NoneComment: The file /etc/redis.conf is set to be changedStarted: 22:45:57.551713Duration: 27.659 msChanges:   ----------newfile:/etc/redis.conf
----------ID: redis-master-serviceFunction: service.runningName: redisResult: NoneComment: Service is set to be startedStarted: 22:45:57.637546Duration: 71.324 msChanges:   Summary
------------
Succeeded: 3 (unchanged=3, changed=1)
Failed:    0
------------
Total states run:     3

八,执行redis状态模块

[root@linux-node1 redis-cluster]# salt 'linux-node2*' state.sls redis-cluster.redis-master  saltenv=prod
linux-node2.example.com:
----------ID: redis-installFunction: pkg.installedName: redisResult: TrueComment: The following packages were installed/updated: redisStarted: 22:48:16.616612Duration: 15732.74 msChanges:   ----------jemalloc:----------new:3.6.0-1.el7old:redis:----------new:3.2.10-2.el7old:
----------ID: redis-master-configFunction: file.managedName: /etc/redis.confResult: TrueComment: File /etc/redis.conf updatedStarted: 22:48:32.351877Duration: 45.19 msChanges:   ----------diff:--- +++ @@ -44,7 +44,7 @@## Examples:#-# bind 192.168.1.100 10.0.0.1+#bind 0.0.0.0# bind 127.0.0.1 ::1## ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the@@ -58,7 +58,7 @@# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES# JUST COMMENT THE FOLLOWING LINE.# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-bind 127.0.0.1+bind 0.0.0.0# Protected mode is a layer of security protection, in order to avoid that# Redis instances left open on the internet are accessed and exploited.@@ -125,7 +125,7 @@# By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.-daemonize no+daemonize yes# If you run Redis from upstart or systemd, Redis can interact with your# supervision tree. Options:@@ -534,7 +534,7 @@# limit for maxmemory so that there is some free RAM on the system for slave# output buffers (but this is not needed if the policy is 'noeviction').#-# maxmemory <bytes>+maxmemory 1G# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory# is reached. You can select among five behaviors:mode:0644user:root
----------ID: redis-master-serviceFunction: service.runningName: redisResult: TrueComment: Service redis has been enabled, and is runningStarted: 22:48:32.412154Duration: 453.972 msChanges:   ----------redis:TrueSummary
------------
Succeeded: 3 (changed=3)
Failed:    0
------------
Total states run:     3

salt 'linux-node2*' state.sls redis-cluster.redis-master saltenv=prod

九,登陆node2节点查看redis服务已经成功启动
[root@linux-node2 ~]# ps aux |grep redis
redis      5147  0.3  0.3 142904  5808 ?        Ssl  22:48   0:00 /usr/bin/redis-server 0.0.0.0:6379
root       5192  0.0  0.0 112648   976 pts/0    S+   22:49   0:00 grep --color=auto redis
[root@linux-node2 ~]# 

总结

1.生产环境我们的状态模块可以在prod下面,在执行的时候需要设置环境saltenv=prod(使用top.sls不需要设置环境变量)

2.记得使用test=True先测试

3.提前查清楚软件包和相关配置文件

4.当使用jinja模板管理时,可以不用登陆redis服务器就可以查看redis设置的最大内存


附 赵班长的 GitHub saltbook-code网址

https://github.com/unixhot/saltbook-code/tree/master

转载于:https://www.cnblogs.com/xiewenming/p/7714764.html

SaltStack安装Redis-第十篇相关推荐

  1. Windows 安装Redis(图文详解)

    一.Redis是什么数据库? Remote Dictionary Server(Redis) 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存.分布式.可选持久性的键 ...

  2. Docker系列(二十四)——Docker实例六Docker安装Redis实例

    < Docker实例三Docker安装Redis实例 > 前言 在前面一篇文章种,完成了 < Docker安装MongoDB实例 >,本篇将继续镜像安装教程,并完成Docker ...

  3. Redis入门第一篇【介绍、安装】

    tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...

  4. 《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis

    文章目录 8.Docker常规安装简介 8.1 docker常规安装总体步骤 8.2安装tomcat 8.3 安装mysql 8.3.1 docker hub上面查找mysql镜像 8.3.2 从do ...

  5. 深入学习 Redis 之第 1 篇 —— Docker 安装 Redis 并搭建主从复制集群

    环境要求:CentOS7 X64 位,Redis6.0+ 理论基础 1.什么是 Redis 的主从复制? Redis 的复制功能支持多个库之间的数据同步.一类是主库(master),另一类是从库(sl ...

  6. linux yun 安装 redis,Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)...

    如下是我工作中的记录,介绍的是linux系统下NoSQL:MongoDB和Redis的安装过程和遇到的问题以及解决办法: 需要的朋友可以按照如下步骤进行安装,可以快速安装MongoDB和Redis,希 ...

  7. CentOS 初体验二十:压缩包形式安装redis

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/79277060 本文出自[赵彦军的博客] 安装 C 语言环境 redis 是C 语言 ...

  8. Redis篇 <一>Docker安装redis 及基础

    前言 开始写一个redis 系列的,期间不参杂其他的了,一攻到底,就是因为这方面用得不多,总是在redis这一块被面试官吊打, 主要是学习,其次是不要再被胖揍了!!! 老生常谈的redis~直接开搞. ...

  9. Redis【第二篇】集群搭建

    第一步:准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构: 名称 IP 端 ...

最新文章

  1. C#LeetCode刷题之#409-最长回文串(Longest Palindrome)
  2. 自己设计的一个打字平台
  3. 拓端tecdat|R语言时间序列TAR阈值模型分析
  4. 英语邮件介绍多媒体计算机,多媒体电子邮件,rich media email,音标,读音,翻译,英文例句,英语词典...
  5. 友盟推送:测试模式推送完成,但却收不到推送信息
  6. 帝国CMS二次开发对接第三方支付接口教程
  7. Python基础——模块和正则表达式
  8. 获取历史市盈率的地方
  9. EasyUi入门教程01
  10. 黑苹果外接显示器最优解决方案
  11. 一个通证经济典型案例——移动广告矿机
  12. 编译原理 实验三 LR(1)分析法 Java
  13. 知识?一文解析币圈一级二级市场 原来币圈居然这么多要知道的
  14. Photoshop CS5自学学习笔记
  15. 新纪元期货:投资远离骗局
  16. UVM学习笔记(一)工厂、phase机制、config
  17. 第十章第三节 物体的浮沉条件及应用
  18. adobe acrobat提取pdf中某个区域为单独的pdf或者eps文件
  19. 程序员淡定的姿态和操蛋的心
  20. 电商平台选择积分抵扣的两个原因

热门文章

  1. Spark配置属性整理(非常全面)
  2. Linux使用ffmpeg合并视频
  3. ubuntu16.04将普通用户提升至root权限
  4. k8s service:ClusterIP、NodePort、LoadBalancer、ExternalName
  5. Scala特质的动态混入(超强扩展性)
  6. Scala是完全面向函数式的编程语言体现点
  7. kibana操作elasticsearch:查看映射关系
  8. 请回答一下Java中有几种线程池及实现过程?
  9. springboot spring.config.location外挂配置文件实战
  10. 微信v3app支付php,php微信支付之APP支付方法_php技巧