Code Monkey home page Code Monkey logo

eucaim-mockup's Introduction

EUCAIM Mockup deployment

This repo contains the information required for the deployment of the mockup in EUCAIM. It will feature the deployment of an NFS volume and a web server, and a file serivce attached to it.

Prerrequisites

The components should be deployed on top of a K8s cluster. For this purpose, we used the IM dashboard in https://im.egi.eu/im-dashboard/ and deploy a K8s cluster. The K8s can be accessed through the Dashboard (http://eucaim-k8s.ramses.i3m.upv.es/dashboard/#/login), using the admin or Service Account Token.

NOTE: If DNS redirections are used, the UPV service only supports the 10.10.*.* network in ramses.i3m.upv.es cloud. IM creates the VMs in the 10.0.0.* network. To solve this issue, the following steps are needed:

  • Add a new NIC to the K8s front end using the sunstone cloud interface.
  • Install the nmcli package (apt-get update && apt-get install -y network-manager)
  • Retrieve the name of the disabled device (nmcli device status)
  • Bring it up (nmcli device up <device>)
  • Check that the ip is properly assigned (either ifconfigor ip addr).

Components and topology

The deployment comprises the following objects:

  • An NFS persistent volume
  • A Persistent Volume Claim (PVC)
  • An nginx web server that mounts the PVC on the html data directory /usr/share/nginx/html/
  • A NodePort service for the nginx web server at the address http://<Frontend Public ÎP>:30007
  • A Web file server using the tinyfilemanager/tinyfilemanager:master Docker image, that mounts the same PVC as the nginx server in /var/www/html/data
  • A NodePort service for the web file server at the address http://<Frontend Public ÎP>:30011

Deployment

The Persistent Volumen and the Persistent Volume Claim are deployed using the nginx-vol.yaml file. Before deploying them, the NFS server IP should be fixed. The rest of the services is deployed through the nginx.yaml and file-browser.yaml files.

We used a separate namespace for the deployment so we could delegate the administration of the services (except for the Persistent Volume) to a Service Account user.

The credentials for the users can be updated in the config.php file using a hashed password using https://tinyfilemanager.github.io/docs/pwd.html. The config file can be uploaded once the deployment has been completed (NOTE: It could be turned as a configmap file for convenience).

DNS redirections

In order to avoid opening ports in the UPV's corporate network, we created the following redirections:

  • mockup-fs.ramses.i3m.upv.es navigate_next 10.10.1.34:30011
  • eucaim-mockup.ramses.i3m.upv.es navigate_next 10.10.1.34:30007

eucaim-mockup's People

Contributors

iblanque avatar

Stargazers

Raul Costa Soria avatar

Watchers

 avatar Raul Costa Soria avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.