Skip to content

Latest commit

 

History

History
67 lines (40 loc) · 3.36 KB

File metadata and controls

67 lines (40 loc) · 3.36 KB

System Setup

Following are the components that needs to be setup for running BCIFR.

Most of the system setup tutorials are coming from the official documents, because we don't want you to have version problems like us

1. Kubernetes and OpenWhisk

install openwhisk on native ubuntu

PS1: some software such as cryptography 2.8 may need to be installed or updated

PS2: use ansible-playbook -i setup.yml to automatically install couchdb

Creating a single control-plane cluster with kubeadm

Deploy OpenWhisk on kubernetes

PS: if you choose MOC, that means you are using a Kubernetes cluster you built yourself

Deploying OpenWhisk on kind

PS: Using kind is only appropriate for development and testing purposes. It is not recommended for production deployments of OpenWhisk.

Scaling-up OpenWhisk Deployment on custom-built-kubernetes cluster

PS: you can use helm upgrade to upgrade yaml

Cluster Management

join a node to the cluster

Running in multiple zones

Building large clusters

Creating Highly Available clusters with kubeadm


2. Web Interface

  • Local Depolyment

    • Git clone the project to your local directory
      git clone https://github.com/BU-CLOUD-S20/Building-Cyber-Infrastructure-for-Researchers.git

    • Set up local environment
      - Create the enviroment: python3 -m venv venv or py -3 -m venv venv on Windows
      - Activivate the environment: . venv/bin/activate or venv\Scripts\activate
      - Install Flask: pip install Flask
      - Install virtualenv: sudo python2 Downloads/get-pip.py and then sudo python2 -m pip install virtualenv

    • Set up local MongoDB
      - Download MongoDB community edition according to your operating system and following the installation guide
      - Run Mongo Shell (mongo.exe)
      - Create a new database "admin": use admin
      - Create collections "tempusers", "projects", "wsk_results":
      db.createCollection("tempusers")
      db.createCollection("projects")
      db.createCollection("wsk_results")

    • Run Application: python -m flask run

  • Web Server http://ecoforecast.bu.edu

    • Once the flask module is successfully deployed on the webserver, our users would be able to access our web interface via http://ecoforecast.bu.edu