.vscode | ||
dashboard | ||
deps | ||
docs | ||
examples | ||
manifests | ||
pkg | ||
scripts | ||
tests | ||
tools | ||
.dockerignore | ||
.gitignore | ||
CHANGELOG.md | ||
Dockerfile | ||
Dockerfile.test | ||
Jenkinsfile.groovy | ||
LICENSE | ||
lifecycle.go | ||
main.go | ||
MAINTAINERS.md | ||
Makefile | ||
README.md | ||
storage.go | ||
VERSION |
ArangoDB Kubernetes Operator
ArangoDB Kubernetes Operator helps do run ArangoDB deployments on Kubernetes clusters.
To get started, follow the Installation instructions below and/or read the tutorial.
State
The ArangoDB Kubernetes Operator is still in development.
Running ArangoDB deployments (single, active-failover or cluster) is reasonably stable, and we're in the process of validating production readiness of various Kubernetes platforms.
The feature set of the ArangoDB Kubernetes Operator is close to what it is intended to be.
Production readiness state
Platform | Kubernetes version | ArangoDB version | State | Production ready | Remarks |
---|---|---|---|---|---|
Google GKE | 1.10 | >= 3.3.13 | Runs | Yes | Don't use micro nodes |
Google GKE | 1.11 | >= 3.3.13 | Runs | Yes | Don't use micro nodes |
Amazon EKS | 1.11 | >= 3.3.13 | Runs | Yes | |
Pivotal PKS | 1.11 | >= 3.3.13 | Runs | Yes | |
Amazon & Kops | 1.10 | >= 3.3.13 | Runs | No | |
Azure AKS | 1.10 | >= 3.3.13 | Runs | No | |
OpenShift | 1.10 | >= 3.3.13 | Runs | No | |
Bare metal (kubeadm) | 1.10 | >= 3.3.13 | Runs | No | |
Minikube | 1.10 | >= 3.3.13 | Runs | Not intended | |
Docker for Mac Edge | 1.10 | >= 3.3.13 | Runs | Not intended | |
Scaleway Kubernetes | 1.10 | >= 3.3.13 | ? | No |
Installation of latest release using Helm
WARNING: Note that 0.3.8 is the latest release but we have just found a problem with it when performing rolling upgrades of a cluster, which can lead to data loss! DO NOT USE 0.3.8 FOR ROLLING UPGRADES. We will publish a fixed 0.3.9 as soon as possible, but we need rather thorough testing for this.
Therefore the commands below use the second latest release 0.3.7.
# The following will install the custom resources required by the operators.
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb-crd.tgz
# The following will install the operator for `ArangoDeployment` &
# `ArangoDeploymentReplication` resources.
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb.tgz
# To use `ArangoLocalStorage`, also run
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb-storage.tgz
Installation of latest release using Kubectl
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-deployment.yaml
# To use `ArangoLocalStorage`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-storage.yaml
# To use `ArangoDeploymentReplication`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-deployment-replication.yaml
Building
DOCKERNAMESPACE=<your dockerhub account> make
kubectl apply -f manifests/arango-deployment-dev.yaml
# To use `ArangoLocalStorage`, also run
kubectl apply -f manifests/arango-storage-dev.yaml
# To use `ArangoDeploymentReplication`, also run
kubectl apply -f manifests/arango-deployment-replication-dev.yaml