k8s用StatefulSet部署redis
redis-config.yaml (配置文件)
apiVersion: v1
kind: ConfigMap
metadata:name: redis-config
data:redis.conf: |# Redis general configuration bind 0.0.0.0
protected-mode no
port 6379
dir /data
appendonly yessentinel.conf: |sentinel monitor mymaster redis-master 6379 2sentinel down-after-milliseconds mymaster 5000sentinel failover-timeout mymaster 10000sentinel parallel-syncs mymaster 1
redis-master-statefulset.yaml (主)
apiVersion: apps/v1
kind: StatefulSet
metadata:name: redis-master
spec:serviceName: "redis-master"replicas: 1selector:matchLabels:app: redisrole: mastertemplate:metadata:labels:app: redisrole: masterspec:containers:- name: redisimage: redis:5.0.7command: ["redis-server", "/data/redis.conf"]volumeMounts:- name: redis-datamountPath: /data- name: configmountPath: /data/redis.confsubPath: redis.confvolumes:- name: configconfigMap:name: redis-configvolumeClaimTemplates:- metadata:name: redis-dataspec:storageClassName: "nfs-client-storageclass"accessModes: [ "ReadWriteOnce" ]resources:requests:storage: 1Gi
redis-slave-statefulset.yaml (从)
apiVersion: apps/v1
kind: StatefulSet
metadata:name: redis-slave
spec:serviceName: "redis-slave"replicas: 2selector:matchLabels:app: redisrole: slavetemplate:metadata:labels:app: redisrole: slavespec:containers:- name: redisimage: redis:5.0.7command: ["redis-server", "/data/redis.conf", "--slaveof", "redis-master", "6379"]volumeMounts:- name: redis-datamountPath: /data- name: configmountPath: /data/redis.confsubPath: redis.confvolumes:- name: configconfigMap:name: redis-configvolumeClaimTemplates:- metadata:name: redis-dataspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "nfs-client-storageclass"resources:requests:storage: 1Gi
redis-service.yaml (端口)
apiVersion: v1
kind: Service
metadata:name: redis-master
spec:ports:- port: 6379targetPort: 6379selector:app: redisrole: master---apiVersion: v1
kind: Service
metadata:name: redis-slave
spec:ports:- port: 6379targetPort: 6379selector:app: redisrole: slave---apiVersion: v1
kind: Service
metadata:name: redis-sentinel
spec:ports:- port: 26379targetPort: 26379selector:app: redisrole: sentinel
redis-sentinel-statefulset.yaml (哨兵)
apiVersion: apps/v1
kind: Deployment
metadata:name: redis-sentinel
spec:replicas: 3selector:matchLabels:app: redisrole: sentineltemplate:metadata:labels:app: redisrole: sentinelspec:# 使用 initContainer 复制并修改权限initContainers:- name: copy-configimage: busybox:1.27command: ['sh', '-c', 'cp /data/sentinel.conf /tmp/sentinel.conf && chmod 644 /tmp/sentinel.conf']volumeMounts:- name: configmountPath: /data- name: sentinel-configmountPath: /tmp# Redis Sentinel 容器containers:- name: sentinelimage: redis:5.0.7command: ["redis-sentinel", "/tmp/sentinel.conf"]volumeMounts:- name: sentinel-configmountPath: /tmp# 卷定义volumes:- name: configconfigMap:name: redis-config- name: sentinel-configemptyDir: {}
相关文章:
k8s用StatefulSet部署redis
redis-config.yaml (配置文件) apiVersion: v1 kind: ConfigMap metadata:name: redis-config data:redis.conf: |# Redis general configuration bind 0.0.0.0 protected-mode no port 6379 dir /data appendonly yesse…...
flink on k8s
1.修改host文件 vi /etc/hosts 添加如下内容 这样搭集群的时候就不用记ip了 #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 165.154.221.97 tlb-001 k8s01 k8s-m…...
Java集合(八股)
这里写目录标题 Collection 接口List 接口ArrayList 简述 1. ArrayList 和 LinkedList 区别?⭐️⭐️⭐️⭐️2. ArrayList 和 Array 的区别?⭐️⭐️⭐️ArrayList 和 Vector 区别?⭐️⭐️ArrayList 的扩容机制?⭐️⭐️⭐️ Qu…...
python+adb
#!/usr/bin/python env # -*- coding: utf-8 -*- import os import sys import subprocess from time import sleepimport logging logging.basicConfig(levellogging.DEBUG) class ScreenCapture():def get_screen_size(self):"""获取手机分辨率""&q…...
AIGC文本生成
文本生成是一种人工智能技术,它基于深度学习算法,根据给定的提示信息创作出有逻辑、连贯的文本内容。 文本生成所需的输入(提示或Prompt)可以是简单的关键词、一句话概述或是更复杂的指令和上下文信息。文本生成模型通过分析大量…...
系统架构设计师教程 第5章 5.4 软件测试 笔记
5.4 软件测试 5.4.1 测试方法 ★★★★★ 软件测试方法的分类有很多种, 以测试过程中程序执行状态为依据可分为静态测试 (Static Testing,ST) 和动态测试 (Dynamic Testing,DT); 以具体实现算法细节和系统内部结构的相关情况为根据可分黑盒测试、白盒测试和灰盒测…...
ASPICE评估全流程解析:汽车软件开发组织能力的系统化评估
ASPICE(Automotive SPICE)评估的过程是一个系统化和详尽的流程,旨在评估汽车软件开发组织在软件开发过程方面的能力。 以下是ASPICE评估过程的详细描述: 1. 评估准备阶段 a. 确定评估目标和范围 明确评估的目标,如评…...
合并RAR分卷压缩包
因为文件压缩之后体积仍然过大,大家可能会选择进行分卷压缩,那么rar分卷压缩包之后如何合并成一个压缩包文件呢?今天我们来学习rar分卷压缩包,合并成一个的方法。 最基础的方法就是将分卷压缩包解压出来之后,再将文件…...
重生奇迹MU 想去哪就去哪玩 轻松玩转翅膀属性
在重生奇迹MU这个游戏中,玩家需要扫荡各种怪物,勇斗BOSS,与其他玩家激战。在这个充满冒险的旅程中,翅膀是最重要的装备之一。拥有一个属性强大的翅膀,代表着玩家的成长与强大。穿上它,加速你的冒险之旅吧&a…...
Lnux-gcc/g++使用
目录 1.gcc/g介绍 1.什么是 gcc / g 2.gcc/g指令格式 2. gcc / g 实现程序翻译的过程 1.预处理(进行宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连接(生成可执行文件或库文件) 1.gcc/g介绍 1.什么…...
用Python创建一个键盘输入捕获程序
目录 简介 环境准备 安装依赖 项目结构 编写代码 1. 导入库 2. 定义回调函数 3. 启动键盘监听器 4. 整合代码 运行程序 结论 简介 在这篇博文中,我们将探索如何使用Python编写一个简单的键盘输入捕获程序。这个程序将实时捕获用户的键盘输入并在控制台中显示出来。…...
Mybatis中Like模糊查询三种处理方式
目录 Mybatis中Like模糊查询三种处理方式 1.通过单引号拼接${} 1)mapper接口 2)Mapper.xml 3)测试代码 4) 测试结果 2.通过concat()函数拼接(个人推荐使用这种) 1)mapper接口 2)Mapper.xml 3)测试代码 4) 测…...
STL值list
list容器 头文件:#include<list> - list是一个双向链表容器,可高效地进行插入删除元素 - list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符 注:list使用迭代器访问数据时可以一步一步走自增自减(即…...
结构体的内存对齐
对⻬规则: 1.结构体的第⼀个成员对⻬到和结构体变量起始位置偏移量为0的地址处 2.其他成员变量要对⻬到某个数字(对⻬数)的整数倍的地址处。 对⻬数编译器默认的⼀个对⻬数与该成员变量⼤⼩的较⼩值。 但一些编译器下并没有默认对其数 3.结…...
Web 创建设计
Web 创建设计 Web 创建设计是一个涉及多个方面的过程,它包括网站的视觉设计、用户界面设计、用户体验设计、前端开发以及后端开发等。本文将详细介绍这些方面,并探讨如何创建一个既美观又实用的网站。 1. 视觉设计 视觉设计是网站创建设计的第一步,它决定了网站的外观和感…...
2024年9月16日历史上的今天大事件早读
1151年9月16日 南宋名将韩世忠逝世 1782年9月16日 清朝道光帝旻宁出生 1810年9月16日 墨西哥独立日 1856年9月16日 云南杜文秀领导回民起义 1880年9月16日 左宗棠创办的兰州机器织呢局开工 1908年9月16日 美国通用汽车公司成立 1919年9月16日 周恩来组织参加的觉悟社成立…...
记录工作中遇到的问题(持续更新~)
跨域问题(待排查) 2024-09-15 【前提】:前端配置了nignx转发,后端设置了跨域拦截,对http://xxxx做了允许跨域。但是访问http://xxx被拦截了,返回403 Forbidden。同样的配置放在另外一套部署的环境上就完全…...
六西格玛咨询:石油机械制造企业的成本控制与优化专家
一、石油机械制造行业现状及主要困扰 随着全球能源需求的日益增长,石油开采和生产设备需求不断增加,石油机械制造行业在过去数十年里得到了迅猛发展。然而,石油机械制造作为一个高度复杂且技术密集的行业,也面临着多重挑战。首先…...
Redis基础数据结构之 quicklist 和 listpack 源码解读
目录标题 quicklist为什么要设计 quicklist?quicklist特点ziplist quicklist数据结构 listpacklistpack是什么?listpack数据结构ziplist干啥去了?为什么有listpack?什么是ziplist的连锁更新?listpack 如何避免连锁更新࿱…...
深入理解Go语言的方法定义与使用
在Go语言编程中,方法(Method) 是附属于特定类型的函数,使我们能够以面向对象的方式编写代码。通过方法,我们可以更自然地对类型进行操作。本文将通过实际的代码示例,深入探讨Go语言中方法的定义与使用。 一…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
