redis有單機,復(fù)制,分片這幾種方式
復(fù)制就是把一個redis的數(shù)據(jù),復(fù)制到另外一個redis,

分片就是把key分分組,一個redis擁有一部分key,另外一個redis擁有另外一部分key

分片+復(fù)制
有6個節(jié)點,3個master,3個slaver

1. 參考
https://operatorhub.io/operator/redis-operator
https://github.com/ot-container-kit/redis-operator
https://redis.io/topics/cluster-tutorial
2. k3s安裝
stateful pod,?headless service
因為cluster不依賴dns,只依賴pod ip,要特別注意pod重啟導(dǎo)致ip變化,但是stateful pod ip是不會變的
3. Operator Lifecycle Manager安裝
curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.17.0/install.sh | bash -s v0.17.0
4. operator 安裝
kubectl create -f https://operatorhub.io/install/redis-operator.yaml
5. 安裝redis集群
apiVersion: redis.redis.opstreelabs.in/v1beta1
kind: Redis
metadata:
? name: redis
spec:
? mode: cluster
? size: 3
? global:
? ? image: 'quay.io/opstree/redis:v6.2'
? ? imagePullPolicy: IfNotPresent
? ? password: Opstree@1234
? ? resources:
? ? ? requests:
? ? ? ? cpu: 100m
? ? ? ? memory: 128Mi
? ? ? limits:
? ? ? ? cpu: 100m
? ? ? ? memory: 128Mi
? master:
? ? service:
? ? ? type: ClusterIP
? ? redisConfig: {}
? slave:
? ? service:
? ? ? type: ClusterIP
? ? redisConfig: {}
? service:
? ? type: ClusterIP
? redisConfig: {}
? redisExporter:
? ? enabled: true
? ? image: 'quay.io/opstree/redis-exporter:1.0'
? ? imagePullPolicy: Always
? ? resources:
? ? ? requests:
? ? ? ? cpu: 100m
? ? ? ? memory: 128Mi
? ? ? limits:
? ? ? ? cpu: 100m
? ? ? ? memory: 128Mi
? storage:
? ? volumeClaimTemplate:
? ? ? spec:
? ? ? ? storageClassName: local-path
? ? ? ? accessModes:
? ? ? ? ? - ReadWriteOnce
? ? ? ? resources:
? ? ? ? ? requests:
? ? ? ? ? ? storage: 1Gi
6. 安裝之后有6個pod,3個master,3個slaver
