A Kubernetes operator for memcached
Switch branches/tags
Nothing to show
Clone or download
ianlewis Updated to use generation (fixes #15) (#17)
* Updated to use generation and set observedGeneration to the status
Latest commit 42b24e3 Jun 12, 2018


Memcached Operator

Go Report Card

memcached-operator is a Kubernetes Operator for deploying and managing a cluster of Memcached instances.

memcached-operator provides a single Service endpoint that memcached client applications can connect to to make use of the memcached cluster. It provides this via a memcached proxy which is automatically updated whenever memcached instances are added or removed from the cluster.

memcached-operator supports sharded and replicated pools of servers as well as combinations of both strategies.


See the documentation for more information.

Project Status

Project status: alpha

memcached-operator is still under active development and has not been extensively tested yet. Use at your own risk. Backward-compatibility is not supported for alpha releases.


  • Version >= 1.10 of Kubernetes.

memcached-operator relies on subresources for CRDs which is in 1.10+


You can install the memcached-operator using the included helm chart. Check out the git repository and run this in the root directory.

$ helm install --name memcached-operator charts/memcached-operator

The easiest way to create a memcached cluster is using the memcached helm chart:

$ helm install --name sharded stable/memcached

You can then create a memcached proxy to connect to the cluster.

apiVersion: ianlewis.org/v1alpha1
kind: MemcachedProxy
  name: sharded-example
    type: "sharded"
      name: "sharded-memcached"
      port: 11211
$ kubectl apply -f docs/sharded-example.yaml

You can then access your memcached cluster via thesharded-memcachedservice. Check the documentation for more information.


You can remove the memcached-operator by deleting the helm release.

$ helm delete --purge memcached-operator


Check out memcached-operator to your GOPATH


memcached-operator can be built using the normal Go build tools. This will build a binary dynamically linked to glibc.

$ go build

You can build a fully statically linked binary as well:

$ make build

Similar projects


This is not an official Google product