Redis operator for Kubernetes with HAProxy support
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vladimir Smagin eded64053a
use EmptyDir if no volume size set
1 개월 전
build run 3 달 전
cmd/manager run 3 달 전
deploy added pvc, pvc class and pvc finalizer 1 개월 전
pkg use EmptyDir if no volume size set 1 개월 전
vendor run 3 달 전
version separate resources limits 1 개월 전
.gitignore run 3 달 전
Dockerfile remove vendor 3 달 전
Makefile fix 3 달 전
README.md use EmptyDir if no volume size set 1 개월 전
VERSION separate resources limits 1 개월 전
go.mod added pvc, pvc class and pvc finalizer 1 개월 전
go.sum increase timeouts 3 달 전
tools.go run 3 달 전

README.md

Redis operator for Kubernetes

Redis operator runs Sentinel and Redis, makes Redis high available with HAProxy.

Build sources

Prebuilt images

You can find images here https://hub.docker.com/r/iam21h/redis-operator

Deploy operator

Namespace-scoped installation

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

Cluster-scoped installation

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.

Your first Redis deployment

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

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