Kubernetes(k8s)Helm 部署 Redis 集群
一、集群信息
- 方法因人而异,但大同小异,以下是我的部署方法。
1.1、 主机信息
主机名 | ip地址 | 描述 | 核心 | 内存 |
---|---|---|---|---|
node-01 | 192.168.8.131 | master 节点 | 2核 | 8G |
node-02 | 192.168.8.132 | node 节点 | 2核 | 8G |
node-03 | 192.168.8.133 | node 节点 | 2核 | 8G |
1.2、版本说明
服务 | 版本 |
---|---|
helm | 3.1.1 |
Redis | 5.0.8 |
Kubernetes | 1.17.3 |
二、部署动态 PV
2.1、 创建名称空间
- 创建一个 monitoring 名称空间,将 nfs-client-provisioner 放在这个名称空间上
kubectl create ns nfs
2.2、创建 EFK 存储目录
- 该存储目录专门存放 EFK 数据包括: Elasticsearch Fluentd Kibana 数据
mkdir -p /data/NFS/redis
3.3、使用 helm 安装 nfs-client-provisioner
- 项目地址:https://hub.helm.sh/charts/stable/nfs-client-provisioner
- 安装到 nfs 命名空间
- 重点:nfs.path 让数据存储到指定目录,这样好区分数据
- 重点:storageClass.name 这里填写 monitoring 专属名称,用于 PVC 自动绑定专属动态 PV 上。
# 下面代码直接复制黏贴即可
cat > nfs-client.yaml << EOF
# NFS 设置
nfs:
server: 192.168.8.131
path: /data/NFS/redis
storageClass:
# 此配置用于绑定 PVC 和 PV
name: redis-nfs-client
# 资源回收策略
reclaimPolicy: Retain
# 使用镜像
image:
repository: quay-mirror.qiniu.com/external_storage/nfs-client-provisioner
# 副本数量
replicaCount: 2
EOF
# helm 部署 Prometheus 安装指定版本 Prometheus 5.0.4
helm install efk-nfs-storage -n nfs --values nfs-client.yaml stable/nfs-client-provisioner --version 1.2.8
2.4、查看运行 nfs-client-provisioner Pod 状态
[root@Node-01 ~]# kubectl get pod -n nfs -w
NAME READY STATUS RESTARTS AGE
efk-nfs-storage-nfs-client-provisioner-57d6c64f6b-hqb9p 1/1 Running 0 4s
efk-nfs-storage-nfs-client-provisioner-57d6c64f6b-jj5vr 1/1 Running 0 4s
三、部署 Redis
3.1、 创建名称空间
- 创建一个 redis 名称空间,将 Nginx Ingress 放在这个名称空间上
kubectl create ns redis
3.2、安装 Nginx Redis
- 项目地址:https://hub.helm.sh/charts/bitnami/redis
- 启用 redis 密码,并设置密码
# 添加 bitnami 仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis -n redis \
--set password="Akiraka.net" \
--set master.service.type=NodePort,master.service.nodePort=30379 \
--set master.persistence.enabled=false,slave.persistence.enabled=false \
--set cluster.enabled=true \
--set cluster.slaveCount=3 \
bitnami/redis --version 12.6.0
3.3、查看运行 Pod 状态
[root@Node-01 ~]# kubectl get pod -n redis
NAME READY STATUS RESTARTS AGE
redis-master-0 1/1 Running 0 5m33s
redis-slave-0 1/1 Running 0 5m33s
redis-slave-1 1/1 Running 0 3m55s
3.4、查看 Redis Pvc
- 固定端口为:30379
[root@Node-01 ~]# kubectl get svc -n redis
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 47d
redis-headless ClusterIP None <none> 6379/TCP 6m
redis-master NodePort 10.1.192.250 <none> 6379:30379/TCP 6m
redis-slave ClusterIP 10.1.86.62 <none> 6379/TCP 6m
四、访问 Redis
- 我是通过客户端访问的
版权声明:
作者:Akiraka
链接:https://www.akiraka.net/kubernetes/509.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
Kubernetes(k8s)Helm 部署 Redis 集群
一、集群信息
方法因人而异,但大同小异,以下是我的部署方法。
1.1、 主机信息
主机名
ip地址
描述
核心
内存
node-01
192.168.8.131
master 节点
2……
文章目录
关闭