Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions docs/Manual/Deployment/Kubernetes/Storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ the storage to Pods that need them.

## Storage configuration

In the cluster resource, one can specify the type of storage
In the `ArangoDeployment` resource, one can specify the type of storage
used by groups of servers using the `spec.<group>.storageClassName`
setting.

Expand All @@ -22,7 +22,11 @@ server.
For optimal performance, ArangoDB should be configured with locally attached
SSD storage.

To accomplish this, one must create `PersistentVolumes` for all servers that
The easiest way to accomplish this is to deploy an
[`ArangoLocalStorage` resource](./StorageResource.md).
The ArangoDB Storage Operator will use it to provide `PersistentVolumes` for you.

The alternative is to create `PersistentVolumes` manually, for all servers that
need persistent storage (single, agents & dbservers).
E.g. for a `Cluster` with 3 agents and 5 dbservers, you must create 8 volumes.

Expand Down
19 changes: 12 additions & 7 deletions docs/Manual/Deployment/Kubernetes/Usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,30 @@
## Installation

The ArangoDB Kubernetes Operator needs to be installed in your Kubernetes
cluster first. To do so, clone this repository and run:
cluster first.

To do so, run (replace `<version>` with the version of the operator that you want to install):

```bash
kubectl apply -f manifests/crd.yaml
kubectl apply -f manifests/arango-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-deployment.yaml
```

To use `ArangoLocalStorage`, also run:

```bash
kubectl apply -f manifests/arango-storage.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-storage.yaml
```

You can find the latest release of the ArangoDB Kubernetes Operator
[in the kube-arangodb repository](https://github.com/arangodb/kube-arangodb/releases/latest).

## Cluster creation

Once the operator is running, you can create your ArangoDB cluster
by creating a custom resource and deploying it.

For example:
For example (all examples can be found [in the kube-arangodb repository](https://github.com/arangodb/kube-arangodb/tree/master/examples)):

```bash
kubectl apply -f examples/simple-cluster.yaml
Expand All @@ -44,7 +49,7 @@ To remove the entire ArangoDB Kubernetes Operator, remove all
clusters first and then remove the operator by running:

```bash
kubectl delete -f manifests/arango-deployment.yaml
kubectl delete deployment arango-deployment-operator
# If `ArangoLocalStorage` is installed
kubectl delete -f manifests/arango-storage.yaml
kubectl delete deployment -n kube-system arango-storage-operator
```
7 changes: 7 additions & 0 deletions docs/Manual/Tutorials/Kubernetes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ Then run (replace `<version>` with the version of the operator that you want to
```bash
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-deployment.yaml
# Optional
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-storage.yaml
```

The first command installs two `CustomResourceDefinitions` in your Kubernetes cluster:
Expand All @@ -49,6 +51,11 @@ The first command installs two `CustomResourceDefinitions` in your Kubernetes cl
The second command installs a `Deployment` that runs the operator that controls
`ArangoDeployment` resources.

The optional third command installs a `Deployment` that runs the operator that
provides `PersistentVolumes` on local disks of the cluster nodes.
Use this when running on bare-metal or if there is no provisioner for fast
storage in your Kubernetes cluster.

## Deploying your first ArangoDB database

The first database we are going to deploy is a single server database.
Expand Down