commit | 832c079884c82b83b45316b400192279a0d2af39 | [log] [tgz] |
---|---|---|
author | David Grove <dgrove-oss@users.noreply.github.com> | Thu Dec 07 10:44:30 2017 -0500 |
committer | rodric rabbah <rodric@gmail.com> | Thu Dec 07 10:44:30 2017 -0500 |
tree | 052774a95d611e9648b68e655c333e45dc3d5cb6 | |
parent | 901f0e449d8febfbcc6e7645c798999911f099a0 [diff] |
Travis robustness with minikube (#112) Change readiness test in setup.sh to wait for a ready node to be present. Move labeling of the node as an invoker to build.sh.
This repo can be used to deploy OpenWhisk to a Kubernetes cluster.
A number of requirements must be met for OpenWhisk to deploy on Kubernetes.
Kubernetes
OpenWhisk
NOTE: If you do not have an environment that meets these requirements then you can set one up following the Setting up Kubernetes section.
If you are deploying Kubernetes from scratch to try out OpenWhisk, there are a number of ways to setup a Dev/Test environmnet depending on your host OS. To mitigate that, we are using VirtualBox with a Ubuntu VM. For the full instructions on setting an environment up, take a look at these instructions.
To deploy OpenWhisk on Kubernetes, you first need to setup CouchDB. In this repo, there is a CouchDB instance that can be used to standup a small OpenWhisk test environment. We would not support using this deployment strategy for production environments, but to test OpenWhisk on Kube check out the CouchDB README.
For a production level CouchDB instance, take a look at the main OpenWhisk Docs for CouchDB.
Once CouchDB has been successfully deployed, you will need manually deploy the rest of the OpenWhisk components.
In the commands below, replace API_HOST with the URL appropriate for the Ingress you deployed.
Configure the wsk cli by setting the auth and apihost properties.
wsk property set --auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP --apihost https://API_HOST
Install the initial catalog. To do this, you will need to set the OPENWHISK_HOME
environment variable:
export OPENWHISK_HOME [location of the openwhisk repo]
pushd /tmp git clone https://github.com/apache/incubator-openwhisk-catalog cd incubator-openwhisk-catalog/packages ./installCatalog.sh 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP https://API_HOST popd
At some point there might be a need to cleanup the Kubernetes environment. For this, we want to delete all the OpenWhisk deployments, services, jobs and whatever else might be there. For this, you can run the following script:
./configure/cleanup.sh
A couple of components for OpenWhisk on Kube deployment strategy requires custom built Docker images. One such component is Nginx and currently resides at danlavine/whisk_nginx. There is currently and open issue to make a public image and once it is resolved, then we can switch to the public image.
Bad Kube versions
Report bugs, ask questions and request features here on GitHub.
You can also join our slack channel and chat with developers. To get access to our slack channel, request an invite here.