k8s学习笔记——redis集群安装+cephfs存储

//参考 Kubernetes 部署Redis主从服务(StatefulSet)_BigQ2020的技术博客_51CTO博客

大体和参考链接内容相同,只是个别需要修改,我的docker镜像是用的ubuntu shell执行用的是bash,相应参数有调整

// launch.sh

#!/bin/bash

PASSWORD=$(cat /etc/redis-passwd/passwd)

if [ ${HOSTNAME} = "redis-0" ]; then
  redis-server --bind 0.0.0.0 --requirepass ${PASSWORD}
else
  redis-server --slaveof redis-0.redis.cephfs 6379 --masterauth ${PASSWORD} --requirepass ${PASSWORD}
fi

//  statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
  namespace: cephfs
spec:
  serviceName: redis
  replicas: 3
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - name: redis
        image: redis:latest
        ports:
        - containerPort: 6379
          name: redis
        volumeMounts:
        - name: redis-data
          mountPath: /data
        - name: script
          mountPath: /script/launch.sh
          subPath: launch.sh
        - name: passwd-volume
          mountPath: /etc/redis-passwd
        command:
        - sh
        - -c
        - sleep 10 && bash /script/launch.sh  //这里用的是bash而不是sh,否则会执行会报错
      volumes:
      - name: script
        configMap:
          name: redis-config
          defaultMode: 077
      - name: passwd-volume
        secret:
          secretName: redis-passwd
  volumeClaimTemplates:
  - metadata:
      name: redis-data
      namespace: cephfs
      annotations:
        volume.beta.kubernetes.io/storage-class: "cephfs"
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 1Gi

部署完以后可以通过kubectl logs redis-0 -n cephfs 查看是否部署成功。

在k8s中部署的服务要想使用redis集群可以链接无头服务,地址可使用:redis.cephfs:6379

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值