Redis operator for Kubernetes with HAProxy support
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
Vladimir Smagin 0b8202f901 helm 1 місяць тому
build run 10 місяці тому
cmd/manager run 10 місяці тому
deploy helm 1 місяць тому
pkg add logging to deletion pdb 4 місяці тому
vendor no more latest tag, use jenkins to build 6 місяці тому
version add PodDisruptionBudge resources 4 місяці тому
.gitignore run 10 місяці тому
Dockerfile move to ubuntu image 4 місяці тому
Jenkinsfile add helm repo 1 місяць тому
README.md readme 1 місяць тому
VERSION add PodDisruptionBudge resources 4 місяці тому
go.mod no more latest tag, use jenkins to build 6 місяці тому
go.sum no more latest tag, use jenkins to build 6 місяці тому
tools.go run 10 місяці тому

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

Helm

helm repo add 21h https://charts.blindage.org
helm repo update
helm install redis-operator 21h/redis-operator -n operators

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
  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