-
Notifications
You must be signed in to change notification settings - Fork 5
Prerequisites
This section will guide through the installation of Ades' prerequisistes: kubectl and helm.
To install Docker please execute the following commands:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
To run the Docker daemon and containers as a non-root user please execute the following command and then log out and back in again:
sudo groupadd docker
sudo usermod -a -G docker $USER
To install kubectl execute the following commands:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
To install helm execute the following commands:
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
The Ades stores the processing results on a S3 bucket. For simplicity , we recommend using a S3 storage running on an external cloud provider such as AWS, but it is also possible to manually setup one on your Kubernetes cluster using Minio.
Create a file called my-minio-fs.yaml :
## Create persistent volume claim for minio to store data.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-minio-fs-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
## Run minio fs deployment.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-minio-fs
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: my-minio-fs
template:
metadata:
labels:
app: my-minio-fs
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: my-minio-fs-pvc
containers:
- name: my-minio-fs
volumeMounts:
- name: data
mountPath: "/data"
image: minio/minio:RELEASE.2017-11-22T19-55-46Z
args:
- server
- /data
env:
- name: MINIO_ACCESS_KEY
value: "minio"
- name: MINIO_SECRET_KEY
value: "minio123"
ports:
- containerPort: 9000
hostPort: 9000
Create a namespace called minio
kubectl create ns minio
Deploy Minio using the following command:
kubectl create -f my-minio-fs.yaml -n minio
To make the above deployment accessible from other namespaces, run the command below:
kubectl expose deployment/my-minio-fs --type="NodePort" --port 9000 -n minio
Run the port-forwarding of the Minio service
kubectl port-forward svc/my-minio-fs 9000:9000 -n minio
Access the Minio dashboard from your browser at the address http://localhost:9000/minio
Using the dashboard, create a bucket called processingresults
Now you can configure the stageout storage endpoint in the values.yaml file with the following values:
STAGEOUT_AWS_SERVICEURL: http://my-minio-fs.minio.svc.cluster.local:9000
STAGEOUT_AWS_ACCESS_KEY_ID: minio
STAGEOUT_AWS_SECRET_ACCESS_KEY: minio123
STAGEOUT_AWS_REGION: RegionOne
STAGEOUT_OUTPUT: s3://processingresults