1
0
Fork 0
arangodb/Documentation/Books/Manual/tutorials-kubernetes-aks.md

109 lines
2.5 KiB
Markdown

---
layout: default
---
# Start ArangoDB on Azure Kubernetes Service (AKS)
## Requirements
* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/){:target="_blank"} (**version >= 1.10**)
* [helm](https://www.helm.sh/){:target="_blank"}
* [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt?view=azure-cli-latest){:target="_blank"}
## Deploy cluster
* In Azure dashboard choose **Create a resource**
* Choose **Kubernetes Service**
## Cluster basics (version >=1.10)
![basics](images/aks-create-basics.png)
## Cluster authentication (Enable RBAC)
![basics](images/aks-create-auth.png)
## Wait for cluster to be created
![basics](images/aks-create-valid.png)
## Move to control using `kubectl`
- Login to Azure using CLI
```
$ az login
[
{
"cloudName": "AzureCloud",
"id": "...",
"isDefault": true,
"name": "ArangoDB-INC",
"state": "Enabled",
"tenantId": "...",
"user": {
"name": "xxx@arangodb.com",
"type": "user"
}
}
]
```
- Get AKS credentials to merge with local config, using resource group and
cluster names used for above deployment
```
$ az aks get-credentials --resource-group clifton --name ArangoDB
```
- Verify successful merge
```
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 38m
```
- Initialize `helm`
```
$ kubectl create serviceaccount --namespace kube-system tiller
serviceaccount/tiller created
```
```
$ kubectl create clusterrolebinding tiller-cluster-rule \
--clusterrole=cluster-admin --serviceaccount=kube-system:tiller
clusterrolebinding.rbac.authorization.k8s.io/tiller-cluster-rule created
```
```
$ helm init --service-account tiller
$HELM_HOME has been configured at /home/xxx/.helm.
...
Happy Helming!
Tiller (the Helm server-side component) has been
installed into your Kubernetes Cluster.
```
- Deploy ArangoDB operator
```
$ helm install \
github.com/arangodb/kube-arangodb/releases/download/X.X.X/kube-arangodb.tgz
NAME: orderly-hydra
LAST DEPLOYED: Wed Oct 31 15:11:37 2018
NAMESPACE: default
STATUS: DEPLOYED
...
See https://docs.arangodb.com/devel/Manual/Tutorials/Kubernetes/
for how to get started.
```
- Deploy ArangoDB cluster
```
$ kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/master/examples/simple-cluster.yaml
```