Charms for Volcano
Description
Volcano is a batch system built on Kubernetes.
It provides a suite of mechanisms that are commonly required by many
classes of batch & elastic workload including: machine learning/deep learning,
bioinformatics/genomics and other “big data” applications.
These types of applications typically run on generalized domain frameworks
like TensorFlow, Spark, Ray, PyTorch, MPI, etc, which Volcano integrates with.
Charmhub package name: operator-template
More information:
Deployment
Quickstart
The suite of Volcano charms can be deployed within any kubernetes cluster so long as one has a valid admin token in a kubeconfig.
If deploying to an existing machine based juju controller, you’ll first need to add a kubernetes-cloud with add-k8s
KUBECONFIG=path/to/my/kubeconfig juju add-k8s k8s-cloud
Next, create a kubernetes namespace for volcano with a juju model
juju add-model volcano-system
Then deploy the bundle from charmhub
juju deploy volcano --trust
The full process
juju add-model volcano-system
juju deploy volcano-admission --trust
juju deploy volcano-controllers --trust
juju deploy volcano-scheduler --trust
Integrations
Certificates
The volcano admission service is exposed as a service on port 443 for internal communication and comes
by default with self-signed certificates for this service. Its possible to relate to a certificate
provider and have its certs generated by a trusted third-party like vault or easyrsa.
CERT_MODEL=<name of certificate model>
juju switch $CERT_MODEL
juju offer <certificate-application>:client certificates
juju switch volcano-system
juju consume admin/${CERT_MODEL}.certificates
juju relate volcano-admission:certificates certificates
Other resources
-
See the Juju SDK documentation for more information about developing and improving charms.