Skip to content

Install on a Kubernetes Cluster

bbrauzzi edited this page Oct 8, 2021 · 1 revision

This section guides you through the deploy of the Ades on a Kubernetes cluster.

Clone the repository

  • Clone the repository

    git clone https://github.com/EOEPCA/proc-ades.git
  • Change local directory

    cd proc-ades

Storage endpoint configuration

To configure the S3 object storage where the processing results will be stored, uncomment and modify the STAGEOUT parameters in the chart/ades/values.yaml file as follows:

workflowExecutor:
  inputs:

    STAGEOUT_AWS_SERVICEURL: https://mys3repositoryendpoint.com
    STAGEOUT_AWS_ACCESS_KEY_ID: myAccesKeyId
    STAGEOUT_AWS_SECRET_ACCESS_KEY: mySecretAccessKey
    STAGEOUT_AWS_REGION: RegionOne
    STAGEOUT_OUTPUT: s3://processing_results

Create a dedicated namespace for the ADES

This namespace will be reserved for the operation of the ADES in order to separate the ADES proper execution from its processings job on kubernetes.

For instance, let's create namespace eoepca

kubectl create namespace eoepca

Deploy using Helm

The ADES is "installed" via helm specifying an optional "release name".

for instance, we will install the ADES with the name ades.

helm install ades charts/ades/ --namespace eoepca

the output should look like this

NAME: ades
LAST DEPLOYED: Fri Oct  1 15:24:07 2021
NAMESPACE: eoepca
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace eoepca -l "app.kubernetes.io/name=ades,app.kubernetes.io/instance=ades" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl --namespace eoepca port-forward $POD_NAME 8080:80

💡 detailed information of all the chart parameter is available in the ADES chart README

Check that service is available

kubectl get service ades --namespace eoepca

and you should get something like

NAME   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
ades   NodePort   10.99.254.201   <none>        80:32100/TCP   10s

Your service is available at port 32100 of the node

Access the application endpoint

Get the application URL by running these commands:

export POD_NAME=$(kubectl get pods --namespace eoepca -l "app.kubernetes.io/name=ades,app.kubernetes.io/instance=ades" -o jsonpath="{.items[0].metadata.name}")

kubectl --namespace eoepca port-forward $POD_NAME 8080:80 &

The Ades is now deployed on your Kubernetes cluster and is ready to use. The WPS endpoint is reachable on the port 8080, to see how to make a request please proceed to the section Get Started.