• Stars
    star
    149
  • Rank 247,101 (Top 5 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Kubernetes operator for memcached

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.

diagram

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.

Prerequisites

  • Version >= 1.10 of Kubernetes.

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

Quickstart

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
metadata:
  name: sharded-example
spec:
  rules:
    type: "sharded"
    service:
      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.

Removal

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

$ helm delete --purge memcached-operator

Development

Check out memcached-operator to your GOPATH

Building

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

Disclaimers

This is not an official Google product

More Repositories

1

kubernetes-bluegreen-deployment-tutorial

A tutorial on doing blue/green deployments with Kubernetes
Shell
70
star
2

execc

A simple container runtime in bash
Shell
63
star
3

controllerutil

Utilities for writing Kubernetes controllers & operators
Go
34
star
4

django-newauth

Django auth done right
Python
27
star
5

tensorflow-examples

Some Tensorflow examples and Jupyter notebooks
Jupyter Notebook
18
star
6

django-lifestream

django-lifestream is a full featured lifestream application that you can use with django. Please see the wiki and issues at bitbucket.
Python
14
star
7

cloud-dyndns-client

A dynamic DNS client that uses Cloud DNS APIs
Go
13
star
8

kay

Kay is a web framework completely specialising on Google App Engine. But basic design is based on the Django framework, like middleware, settings and pluggable application, etc. Kay uses Werkzeug as lower level framework, uses Jinja2 as template engine, uses babel for handling language translations. This software is distributed under BSD license. See LICENSE for the details.
Python
13
star
9

phantomjs-qunit

A phantomjs QUnit test runner supporting, JUnit, TAP, and console output.
JavaScript
12
star
10

luigi-demo

A vagrant demo for luigi.
Python
11
star
11

pyaws

Local branch to implement ItemSearch using unicode keywords.
Python
9
star
12

go-stardict

A stardict library for Go
Go
8
star
13

ergodox_keymap

My ErgoDox Ez Keymap
C
6
star
14

homepage

My homepage/blog
Python
4
star
15

wordpress_django_admin

A simple Django admin for WordPress 3.5.x
Python
3
star
16

chess-ai-competition

A service for chess AI and/or humans to play and rank against each other.
Go
3
star
17

dotfiles

My dotfiles
Shell
3
star
18

weathersensors

A project for weather sensors around my house
C++
2
star
19

actions-test

actions test repo
JavaScript
2
star
20

kombu-appengine-pullqueue

A kombu backend for the appengine pull queue API
Python
2
star
21

django-wwwsqldesigner

A django application with a backend for wwwsqldesigner (http://code.google.com/p/wwwsqldesigner/).
JavaScript
2
star
22

euler

Project Euler Solutions
Go
2
star
23

slsabuild

Build projects and generate SLSA provenance
Go
2
star
24

oauth-python-twitter

Fork of oauth-python-twitter that fixes a couple bugs.
Python
2
star
25

disqus-python-client

A Disqus (http://www.disqus.com/) API client written in python.
Python
1
star
26

k8s-mesos-demo

A demo machine for kubernetes-mesos
Shell
1
star
27

growltestrunner

Text test runner with support for growl (MAC), libnotify (Linux), and Snarl (Windows). Useful when used with Modipyd.
Python
1
star
28

django-hgwebproxy

A Django application for proxying requests through Django to hgweb. Supports Django user auth for push/pull/clone and per-repository permissions.
Python
1
star
29

fitness_dashboard

Apps Scripts widgets for displaying various health info
JavaScript
1
star
30

todos

Tools for dealing with TODOs in code
Go
1
star
31

launchcontrol

Use your Launch Control XL from Go
Go
1
star