This folder contains the helm charts for konduit. These are examples for running konduit on kubernetes.
konduit-serving-single-model: Serve a single pipeline with an attached volume.
Ensure a kubernetes cluster is setup. Either docker or minikube is recommended for development environments.
For installing a konduit module in to your kubernetes cluster, first setup a persistent volume and an associated volume claim
Ensure you have helm and tiller installed
For running konduit, you may want to configure the port the server is running on. Ensure the port in the config.json is the same as the port you expose in the kubernetes setup.
Afterwards, just compress any of the folders in this directory with:
tar -czvf folder-name.tar.gz folder-name
where folder-name is the name of the helm chart you want to install.
The volume used with the konduit server should contain whatever files you want to run konduit with. You need a config.json in order to start the server. Creating a config.json for konduit heavily depends on your use case. For a few examples from python, see the client subfolder.
Use this volume for starting the konduit server. Generally, the container will mount the volume under /usr/share within the container.
Example volumes can be found in the konduit single model folder. (See volume.yml and volume-claim.yml)
Afterwards, just run:
helm install folder-name.tar.gz --set volumeName=$YOUR_VOLUME_NAME
Or, if you want to configure the port as well (see Port Configuration above):
helm install folder-name.tar.gz --set volumeName=$YOUR_VOLUME_NAME --set service.port=$YOUR_PORT
Optionally, you may also want to install a kubernetes dashboard To login, follow one of these steps and use the token configuration.
This will allow specification of the volume name to be used when you want to start your konduit server.
In order to access the api within kubernetes, we need to expose the deployed pod. One way to do this is,get the pod name and port forward the target port the container is running on:
kubectl port-forward $POD_NAME $YOUR_PORT:$YOUR_PORT