|
1 year ago | |
---|---|---|
build | 1 year ago | |
cmd/manager | 1 year ago | |
deploy | 1 year ago | |
pkg | 1 year ago | |
vendor | 1 year ago | |
version | 1 year ago | |
.gitignore | 1 year ago | |
Dockerfile | 1 year ago | |
Jenkinsfile | 1 year ago | |
README.md | 1 year ago | |
VERSION | 1 year ago | |
go.mod | 1 year ago | |
go.sum | 1 year ago | |
tools.go | 1 year ago |
Redis operator runs Sentinel and Redis, makes Redis high available with HAProxy.
You can find images here https://hub.docker.com/r/iam21h/redis-operator
kubectl -n operators -f deploy/service_account.yaml
kubectl -n operators -f deploy/role.yaml
kubectl -n operators -f deploy/role_binding.yaml
kubectl -n operators -f deploy/operator.yaml
Edit operator.yaml
to set WATCH_NAMESPACE
, may be you want set it to namespace of pod:
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
kubectl -f deploy/clusterrole.yaml
kubectl -f deploy/clusterrole_binding.yaml
kubectl -n operators -f deploy/service_account.yaml
kubectl -n operators -f deploy/operator.yaml
Edit clusterrole_binding.yaml
, set namespace for service account.
This resource can help you run your first Redis instance
apiVersion: blindage.org/v1alpha1
kind: Redis
metadata:
name: my-redis
spec:
useHAProxy: true
haproxyReplicas: 1
sentinelReplicas: 3
redisReplicas: 3
quorum: 2
haproxyTimeoutServer: 30
haproxyTimeoutClient: 30
haproxyBackendCheckInterval: 1
# set size if you want make persistent volume
persistentVolumeSize: 1Gi
persistentVolumeClass: "gluster"
persistentVolumePurge: true
pdbRedis:
maxUnavailable: 1
pdbSentinel:
minAvailable: 2
Remember rule: pdbSentinel.minAvailable > (sentinelReplicas / 2) > pdbSentinel.maxUnavailable
. This made to save quorum.
Open file pkg/apis/blindage/v1alpha1/redis_types.go
to know more about options.
Copyright by Vladimir Smagin (21h) 2019
http://blindage.org email: 21h@blindage.org
Project page: https://git.blindage.org/21h/redis-operator