Skip to content

DEPLOY CACHINGONDEMAND STACK WITH DODAS

What's DODAS

Please take a look at this article

Components

The following components will be intalled with the procedure presented below:

  • XCache server:
  • GSI authentication for both client and remote storage
  • Cache federator:
  • allowing dynamic cache server scaling
  • Proxy server:
  • providing a tunnel between external client and cache servers on internal network.
  • Prometheus server and node exporters:
  • providing basic knobs for a cluster monitoring
  • Grafana server:
  • for visualization of dashboard starting from data stored by prometheus

IM client and DODAS template

For a introduction and a quickstart guide for DODAS please see the documentation page. In this demo we will make use of the IM python client.

As first step make sure to clone the TOSCA template repository:

git clone https://github.com/indigo-dc/tosca-templates
cd tosca-templates/dodas
git checkout k8s_cms

Now this kind of deployment will automatize 2 macro steps:

  1. creation of a K8s cluster with Helm
  2. installing with Helm the needed applications
  3. configuring this application using a yaml file provided by the user

So let's take a look to the main feature of the TOSCA template and Helm configuration files.

TOSCA template

Available on github

CachingOnDemand Helm values

Available on github

Prometheus Helm values

Available on github

Grafana Helm values

Available on github

Create a cluster with IM client

wget https://github.com/indigo-dc/tosca-templates/tree/k8s_cms/dodas/XCache-demo.yaml
im_client.py -a my_auth_file.dat create XCache-demo.yaml

Create K8s secrets and configmaps

First log into the k8s master machine and copy there your certificates wherever you prefer e.g.

Test functionalities

Monitor system and dummy grafana dashboard

...

Future improvements

  • Manage K8s VolumeClaims for a dynamic and flexible storage management
  • Make possible to use the K8s ConfingMap for passing custom server configuration