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:
- creation of a K8s cluster with Helm
- installing with Helm the needed applications
- 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
CachingOnDemand Helm values
Prometheus Helm values
Grafana Helm values
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