The Cluster API Bootstrap Provider Virtual Kubelet (CABPV) is a custom Cluster API (CAPI) bootstrap provider designed to enable the provisioning and lifecycle management of non-Kubernetes nodes, such as Slurm-based HPC clusters, through the Virtual Kubelet interface.
You’ll need a Kubernetes cluster to run against. You can use KIND to get a local cluster for testing, or run against a remote cluster.
Note: Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster kubectl cluster-info shows).
- Install Instances of Custom Resources:
kubectl apply -f config/samples/- Build and push your image to the location specified by
IMG:
make docker-build docker-push IMG=<some-registry>/cluster-api-bootstrap-virtual-kubelet:tag- Deploy the controller to the cluster with the image specified by
IMG:
make deploy IMG=<some-registry>/cluster-api-bootstrap-virtual-kubelet:tagTo delete the CRDs from the cluster:
make uninstallUnDeploy the controller from the cluster:
make undeploy- Install the CRDs into the cluster:
make install- Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
make runNOTE: You can also run this in one step by running: make install run
If you are editing the API definitions, generate the manifests such as CRs or CRDs using:
make manifestsNOTE: Run make --help for more information on all potential make targets
More information can be found via the Kubebuilder Documentation
By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution. See the DCO file for details.
Commit message should contain signed off section with full name and email. For example:
Signed-off-by: John Doe <jdoe@example.com>
When making commits, include the -s flag and Signed-off-by section
will be automatically added to your commit message. If you want GPG
signing too, add the -S flag alongside -s.
# Signing off commit
git commit -s
# Signing off commit and also additional signing with GPG
git commit -s -S