kubernetes集群部署redis5.0.6单机版
1、首先,通过Config Map来对容器中redis应用的配置进行管理,如自定义配置文件、密码、日志路径等
redis-standalone-conf.yml
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-standalone-conf
data:
redis.conf: |
bind 0.0.0.0
port 6379
requirepass 111111
appendonly yes
cluster-config-file nodes-6379.conf
pidfile /redis/log/redis-6379.pid
cluster-config-file /redis/conf/redis.conf
dir /redis/data/
logfile /redis/log/redis-6379.log
cluster-node-timeout 5000
protected-mode no
创建configmaps
kubectl apply -f redis-standalone-conf.yml
2、上面部署的redis,数据是存储在当前部署节点的本地的文件系统,现在讲存储改成NFS,创建pv和pvc
首先创建NFS
注:预先在NFS服务器上创建目录:/home/data/nfs/pai/redisstandalone
# 创建挂载目录
mkdir /home/data/nfs/pai/redisstandalone -p cat >>/etc/exports <<EOF
/home/data/nfs/pai/redisstandalone *(rw,sync,no_root_squash)
EOF exportfs -r
systemctl restart rpcbind && systemctl restart nfs-server
redis-standalone-pv.yml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: redis-standalone-pv
spec:
capacity:
storage: 200G
accessModes:
- ReadWriteMany
storageClassName: nfsredis
nfs:
server: 192.168.33.157 # NFS服务器地址
path: "/home/data/nfs/pai/redisstandalone" # NFS目录 ---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redis-standalone-pvc
spec:
volumeName: redis-standalone-pv
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: nfsredis
创建pv和pvc
kubectl apply -f redis-standalone-pv.yml
3、由于redis是一个有状态服务,因此,现需要创建一个StatefulSet,并把数据挂载到宿主机上。
redis-standalone-statefulset.yml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis-standalone
spec:
replicas: 1
serviceName: redis-standalone
selector:
matchLabels:
name: redis-standalone
template:
metadata:
labels:
name: redis-standalone
spec:
#nodeName: gggd12-111-128-105 # 指定调度节点
initContainers:
- name: init-redis-standalone
image: busybox
command: ['sh', '-c', 'mkdir -p /redis/log/;mkdir -p /redis/conf/;mkdir -p /redis/data/']
volumeMounts:
- name: redis-standalone-pvc
mountPath: /redis/
containers:
- name: redis-standalone
image: redis:5.0.6
imagePullPolicy: IfNotPresent
command:
- sh
- -c
- "exec redis-server /redis/conf/redis.conf"
ports:
- containerPort: 6379
name: redis
protocol: TCP
volumeMounts:
- name: redis-config
mountPath: /redis/conf/
- name: redis-standalone-pvc
mountPath: /redis/
volumes:
- name: redis-config
configMap:
name: redis-standalone-conf
- name: redis-standalone-pvc
persistentVolumeClaim:
claimName: redis-standalone-pvc
4、通过创建service,提供对外访问pod的服务接口
redis-standalone-service.yml
kind: Service
apiVersion: v1
metadata:
labels:
name: redis-standalone
name: redis-standalone
spec:
type: NodePort
ports:
- name: redis
port: 6379
targetPort: 6379
nodePort: 31379
selector:
name: redis-standalone
创建service
kubectl apply -f redis-standalone-service.yml
5、验证redis是否部署成功
查看pod、pv、pvc、service、ConfigMap运行状态
kubectl get pod,svc,pv,pvc,cm

测试远程连接
注:这里的host为宿主机IP
-h 指定 远程redis主机的IP地址(pod所在的k8s节点)
-p 指定 远程redis连接的端口 (service暴露的端口)
-a 指定 远程redis连接的密码 (ConfigMap文件中设置的密码)
redis-cli -h 192.168.33.244 -p 31379 -a 111111

最后,更新完了重新验证redis即可。
登录NFS服务器,查看相应的文件挂载信息
[root@k8s-master redis]# tree /home/data/nfs/pai/redisstandalone/
/home/data/nfs/pai/redisstandalone/
├── conf
├── data
│ └── appendonly.aof
└── log
├── redis-6379.log
└── redis-6379.pid 3 directories, 3 files

kubernetes集群部署redis5.0.6单机版的更多相关文章
- 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)
部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序 在下载的Istio安装包的samples目录中包含了示例应用程序. ...
- kubernetes集群部署
鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,c ...
- Kubernetes集群部署关键知识总结
Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...
- 基于Kubernetes集群部署skyDNS服务
目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...
- Kubernetes 集群部署(2) -- Etcd 集群
Kubenetes 集群部署规划: 192.168.137.81 Master 192.168.137.82 Node 192.168.137.83 Node 以下在 Master 节点操作. ...
- Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目
在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...
- Docker学习-Kubernetes - 集群部署
Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...
- kubernetes 集群部署
kubernetes 集群部署 环境JiaoJiao_Centos7-1(152.112) 192.168.152.112JiaoJiao_Centos7-2(152.113) 192.168.152 ...
- linux运维、架构之路-Kubernetes集群部署
一.kubernetes介绍 Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...
- Kubernetes集群部署DNS插件
准备 kube-dns 相关镜像 准备 kube-dns 相关 yaml 文件 系统预定义的 RoleBinding 配置 kube-dns 相关服务 检查 kube-dns 功能 kube-dns ...
随机推荐
- ZEGO全新语音聊天室方案,2小时复刻 Clubhouse
真的火了! 新晋带货王马斯克在 Clubhouse"开房"之后,直接让 Clubhouse 爆火出圈,据说,Clubhouse 平台邀请码现在在ebay上已经卖到了快200刀一个. ...
- PE文件整体结构解析
DOS头 在之前,我们已经了解过PE文件的整体结构了,并且我们进行了静动态差异的文件分析,其开头部分就是DOS 部分,包含了DOS MZ文件头和DOS块,那么我们来了解一些DOS部分的结构和其相关意义 ...
- 【Leaflet专题篇】L.tileLayer图层顺序问题
1 问题复现 使用L.tileLayer加载底图(A.B.C)并使用layerControl管理.在用L.tileLayer.wms添加wms服务(D),当切换ABC时会压盖D视频中右下角的wms服务 ...
- debian11使用kubeadm安装k8s
前言 节点信息: master1:192.168.0.33 node1:192.168.0.31 node2:192.168.0.32 版本: 系统:debian11 64bit linux内核:5. ...
- 【pytorch】ResNet源码解读和基于迁移学习的实战
"工欲善其事,必先利其器",掌握ResNet网络有必要先了解其原理和源码.本文分别从原理.源码.运用三个方面出发行文,先对ResNet原理进行阐述,然后对pytorch中的源码进行 ...
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 Desktop & GraphXR
下载地址:https://neo4j.com/download/ 安装 下载时会产生激活码(保存下来) 下载完成后安装 运行后,输入激活码 进入主页面 运行自带的电影知识谱图测试是否安装成功 安装 G ...
- 为 VitePress 网站添加 RSS 订阅支持
省流:使用 vitepress-plugin-rss 这个插件 前言 在看许多个人博客站点的时候,右上角总会有个RSS订阅的标志 恰好我的博客也是基于 VitePress 搭建的,就想看看能不能也实现 ...
- Java stream 流
Java stream 流 中间操作 1.filter 作用:将流中的元素,基于自定义的比较器进行去重 方法定义 Stream<T> filter(Predicate<? super ...
- 三维模型OBJ格式轻量化压缩处理的数据质量提升方法分析
三维模型OBJ格式轻量化压缩处理的数据质量提升方法分析 在三维模型的OBJ格式轻量化压缩处理过程中,除了减小文件大小和提高加载速度之外,我们也需要考虑如何提升数据质量.以下是几种常见的方法: 1.优化 ...
- 如何使用API接口获取Lazada商品详情数据
随着电商市场的不断发展壮大,越来越多的人开始选择在网上购买商品.其中,东南亚地区的Lazada电商平台备受欢迎.如果您是一名电商从业者,或者打算在Lazada上开店,那么获取商品详情信息将是一个非常重 ...