Giter Club home page Giter Club logo

cloudlab-openwhisk's Introduction

CloudLab profile for deploying OpenWhisk via Kubernetes

General information for what on CloudLab profiles created via GitHub repo can be found in the example repo here or in the CloudLab manual

Specifically, the goal of this repo is to create a CloudLab profile that allows for one-click creation of a Kubernetes OpenWhisk deployment for academic research.

User Information

Create a CloudLab experiment using the OpenWhisk profile. It's recommended to use at least 3 nodes for the cluster. It has been testsed on m510, xl170, and rs630 nodes (e.g., various Intel architectures, not ARM, so do not choose an ARM node).

On each node, a copy of this repo is available at:

    /local/repository

Installation specific material (which is baked into the CloudLab disk image) is found at:

    /home/cloudlab-openwhisk

Docker images are store in additional ephemeral cloudlab storage, mounted on each node at:

    /mydata

To see information on OpenWhisk pods, make sure to specify the namespace as openwhisk. To remove OpenWhisk, run the following commands:

    $ cd /home/cloudlab-openwhisk/openwhisk-deploy-kube
    $ helm uninstall owdev -n openwhisk
    $ kubectl delete namespace openwhisk

To start OpenWhisk again, run:

    $ kubectl create namespace openwhisk
    $ cd /home/cloudlab-openwhisk/openwhisk-deploy-kube
    $ helm install owdev ./helm/openwhisk -n openwhisk -f mycluster.yaml

The configuration of OpenWhisk deployed by the experiment is found at: /home/cloudlab-openwhisk/openwhisk-deploy-kube/mycluster.yaml, and is identical to the one found here, except populated with the IP of the primary node. The default OpenWhisk created by this profile is not optimized in any way.

To upgrade OpenWhisk, such as after modifying the mycluster.yaml file, run the following helm command:

    $ helm upgrade owdev ./helm/openwhisk -n openwhisk -f mycluster.yaml

If anything went wrong with the profile, check the log found at on all nodes:

    $ /home/cloudlab-openwhisk/start.log

Versioning

Version 3 of this profile is found in the v3 branch (and main).

  • Can toggle deployment of the new scheduler
  • Moved openwhisk options from advanced to regular
  • Updated software in image

Version 2 of this profile is found in the v2 branch.

  • Includes bug fixed from version 1 regarding extra storage in /mydata
  • Fixes permissions in /home/ directories
  • Removes need to run start script after first login to populate environment variables
  • Includes fixes from npm dependency error

Version 1 of this profile is found in the v1 branch.

Image Creation

The image_setup.sh script is how the image was created from the base CloudLab Ubuntu 20.04 image.

Issues and Contributions

If you find any issues with this profile or have feature requests, please create an issue. We welcome contributions via PRs for features other researchers may find useful.

cloudlab-openwhisk's People

Contributors

hunhoffe 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.