参考: https://operatorhub.io/operator/redis-operator
参考: https://ot-redis-operator.netlify.app/docs/overview/
helm repo add ot-helm https://ot-container-kit.github.io/helm-charts/
helm install redis-operator ot-helm/redis-operator --namespace ot-operators --create-namespace --version 0.19.2
kubectl describe --namespace ot-operators pods
kubectl get pods -n ot-operators
kubectl create secret generic redis-secret \
--from-literal=redis-password="T3BzdHJlZUAxMjM0Cg=" --namespace ot-operators
helm install redis-cluster ot-helm/redis-cluster \
--set redisCluster.clusterSize=3 \
--set redisCluster.redisSecret.secretName=redis-secret \
--set redisCluster.redisSecret.secretKey=redis-password \
--set redisExporter.enabled=true \
--namespace ot-operators --version 0.16.5
临时在 kube-public 命名空间下启动客户端测试
kubectl run -it --rm --image=redis --restart=Never redis-client -n kube-public -- /bin/bash
redis-cluster-leader-svc-0.ot-operators.svc.cluster.local:6379
redis-cluster-leader-svc-1.ot-operators.svc.cluster.local:6379
redis-cluster-leader-svc-2.ot-operators.svc.cluster.local:6379
要从同一 VPC 内访问 Redis 集群,请使用 nodeRedisSvc.yaml 文件中定义的 NodePort 服务。每个服务对应一个Redis领导节点,可以通过其各自的NodePort访问
root@test-jys:/tmp/test-redis# cat nodeRedisSvc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: redis-cluster-leader-svc-0
name: redis-cluster-leader-svc-0
namespace: ot-operators
spec:
ports:
- name: redis-client
port: 6379
protocol: TCP
targetPort: 6379
nodePort: 30025
selector:
statefulset.kubernetes.io/pod-name: redis-cluster-leader-0
type: NodePort
---
apiVersion: v1
kind: Service
metadata:
labels:
app: redis-cluster-leader-svc-1
name: redis-cluster-leader-svc-1
namespace: ot-operators
spec:
ports:
- name: redis-client
port: 6379
protocol: TCP
targetPort: 6379
nodePort: 30026
selector:
statefulset.kubernetes.io/pod-name: redis-cluster-leader-1
type: NodePort
---
apiVersion: v1
kind: Service
metadata:
labels:
app: redis-cluster-leader-svc-2
name: redis-cluster-leader-svc-2
namespace: ot-operators
spec:
ports:
- name: redis-client
port: 6379
protocol: TCP
targetPort: 6379
nodePort: 30027
selector:
statefulset.kubernetes.io/pod-name: redis-cluster-leader-2
type: NodePort