Skip to content

Commit

Permalink
Merge pull request #245 from arangodb/docs/gke-tutorial
Browse files Browse the repository at this point in the history
Adding GKE tutorial
  • Loading branch information
ewoutp authored Aug 27, 2018
2 parents 6fa16f8 + fd3882d commit d560463
Show file tree
Hide file tree
Showing 8 changed files with 119 additions and 0 deletions.
119 changes: 119 additions & 0 deletions docs/Manual/Tutorials/Kubernetes/GKE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Start ArangoDB on Google Kubernetes Engine in 5 minutes

In this guide you'll learn how to run ArangoDB on Google Kubernetes Engine (GKE).

## Create a Kubernetes cluster

In order to run ArangoDB on GKE you first need to create a Kubernetes cluster.

To do so, go to the GKE console.
You'll find a list of existing clusters (initially empty).

![clusters](./gke-clusters.png)

Click on `CREATE CLUSTER`.

In the form that follows, enter information as seen in the screenshot below.

![create a cluser](./gke-create-cluster.png)

We've succesfully ran clusters with 4 `1 vCPU` nodes or 3 `2 vCPU` nodes.
Smaller node configurations will likely lead to unschedulable `Pods`.

Once you click `Create`, you'll return to the list of clusters and your
new cluster will be listed there.

![with new cluster](./gke-clusters-added.png)

It will take a few minutes for the cluster to be created.

Once you're cluster is ready, a `Connect` button will appear in the list.

![cluster is ready](./gke-clusters-ready.png)

## Getting access to your Kubernetes cluster

Once your cluster is ready you must get access to it.
The standard `Connect` button provided by GKE will give you access with only limited
permissions. Since the Kubernetes operator also requires some cluster wide
permissions, you need "administrator" permissions.

To get these permissions, do the following.

Prepare your `~/.kube/config` with the following content:

```yaml
apiVersion: v1
clusters:
- cluster:
certificate-authority-data:
server: https://
name: my_cluster
contexts:
- context:
cluster: my_cluster
user: my_cluster
name: my_cluster
current-context: my_cluster
kind: Config
preferences: {}
users:
- name: my_cluster
user:
username: admin
password:
```
Click on the `Edit` button (pencil image) next to your cluster.
This will lead you to the following page.

![edit cluster](./gke-edit-cluster.png)

Copy the `Endpoint` IP address and paste it after `server: https://`.

The click on `Show credentials`.
The following popup will appear.

![show credentials](./gke-show-credentials.png)

Copy the `Password` and paste it after `password:`.

Close the popup and then return to the cluster list.

Click on `Connect` next to your cluster.
The following popup will appear.

![connect to cluster](./gke-connect-to-cluster.png)

Click on `Run in Cloud Shell`.
It will take some time to launch a shell (in your browser).

Once ready, run the `gcloud` command that is already prepare in your commandline.

The run `cat ~/.kube/config` and copy the line that starts with `certificate-authority-data:`.
Override the corresponding line in your local `~/.kube.config` file.

You should now be able to access your cluster using `kubectl`.

To verify try a command like:

```bash
kubectl get pods --all-namespaces
```

## Installing `kube-arangodb`

You can now install the ArangoDB Kubernetes operator in your Kubernetes cluster
on GKE.

To do so, follow the [Installing kube-arangodb](./README.md#installing-kube-arangodb) instructions.

## Deploying your first ArangoDB database

Once the ArangoDB Kubernetes operator has been installed and its `Pods` are in the `Ready`
state, you can launch your first ArangoDB deployment in your Kubernetes cluster
on GKE.

To do so, follow the [Deploying your first ArangoDB database](./README.md#deploying-your-first-arangodb-database) instructions.

Note that GKE supports `Services` of type `LoadBalancer`.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Manual/Tutorials/Kubernetes/gke-clusters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d560463

Please sign in to comment.