k8s 部署Redis哨兵高可用
拉取redis哨兵chart
helm pull bitnami/redis --version 28.0.5解压
tar -zxvf redis-28.0.5.tgz使用touch创建 values_custom.yaml并新增以下内容,根据自己的情况改,镜像是我拉下来自定义的根据自己情况改
global:
security:
allowInsecureImages: true
image:
registry: har.wildwintop.com:8443
repository: base/bitnami-redis
tag: 8.10.0
architecture: replication
commonConfiguration: |-
maxmemory 8192mb
appendonly yes
appendfsync everysec
auth:
enabled: true
password: "xxxxxxxxxxxoooooooooo"
master:
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 8Gi
cpu: 1000m
podAntiAffinityPreset: hard
nodeSelector:
app: redis
persistence:
enabled: true
storageClass: "local-path"
size: 200Gi
replica:
replicaCount: 3
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 8Gi
cpu: 1000m
podAntiAffinityPreset: hard
nodeSelector:
app: redis
persistence:
enabled: true
storageClass: "local-path"
size: 200Gi
sentinel:
enabled: true
image:
registry: har.wildwintop.com:8443
repository: base/bitnami-redis-sentinel
tag: 8.10.0
masterSet: yourmaster
quorum: 2
resources:
requests:
memory: 64Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 500m
service:
type: NodePort
nodePorts:
redis: "20679"
sentinel: "22233"
metrics:
enabled: true
image:
registry: har.wildwintop.com:8443
repository: base/bitnami-redis-exporter
tag: 8.10.0
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 2Gi
cpu: 1000m
serviceMonitor:
enabled: true
部署storageClass,我这里部署local-path-provisioner
下载地址
部署redis哨兵
helm install redis redis -f redis/values_custom.yaml创建nodeport svc共外部访问,文件名redis-np.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-np
spec:
type: NodePort
selector:
app.kubernetes.io/instance: redis
app.kubernetes.io/name: redis
app.kubernetes.io/component: node
ports:
- name: redis
port: 6379
targetPort: 6379
nodePort: 30000部署nodeport svc
kubectl create -f redis-np.yaml部署后截图

