Redis operator for Kubernetes with HAProxy support
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Vladimir Smagin eded64053a
use EmptyDir if no volume size set
pirms 1 mēnesi
build run pirms 3 mēnešiem
cmd/manager run pirms 3 mēnešiem
deploy added pvc, pvc class and pvc finalizer pirms 1 mēnesi
pkg use EmptyDir if no volume size set pirms 1 mēnesi
vendor run pirms 3 mēnešiem
version separate resources limits pirms 1 mēnesi
.gitignore run pirms 3 mēnešiem
Dockerfile remove vendor pirms 3 mēnešiem
Makefile fix pirms 3 mēnešiem
README.md use EmptyDir if no volume size set pirms 1 mēnesi
VERSION separate resources limits pirms 1 mēnesi
go.mod added pvc, pvc class and pvc finalizer pirms 1 mēnesi
go.sum increase timeouts pirms 3 mēnešiem
tools.go run pirms 3 mēnešiem

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