kubeslice-controller
kubeslice-controller uses Kubebuilder, a framework for building Kubernetes APIs
using custom resource definitions (CRDs).
Getting Started
The KubeSlice Controller orchestrates the creation and management of slices on worker clusters.
It is strongly recommended to use a released version. Follow the instructions provided in this document.
Building and Deploying kubeslice-controller
in a Local Kind Cluster
For more information, see getting started with kind clusters.
Prerequisites
Setting up Your Helm Repo
If you have not added avesha helm repo yet, add it.
helm repo add avesha https://kubeslice.github.io/charts/
Upgrade the avesha helm repo.
helm repo update
Build Your Docker Image
- Clone the latest version of kubeslice-controller from the
master
branch.
git clone https://github.com/kubeslice/kubeslice-controller.git
cd kubeslice-controller
- Adjust image name variable
IMG
in the Makefile
to change the docker tag to be built.
Default image is set as IMG ?= aveshasystems/kubeslice-controller:latest
. Modify this if required.
make docker-build
Running Local Image on Kind Clusters
- Loading kubeslice-controller image into your kind cluster (kind).
If needed, replace
aveshasystems/kubeslice-controller
with your locally built image name in the previous step.
kind load docker-image aveshasystems/kubeslice-controller --name cluster-name
Example
kind load docker-image aveshasystems/kubeslice-controller --name kind
- Check the loaded image in the cluster. Modify node name if required.
- Note:
kind-control-plane
is the name of the Docker container. Modify if needed.
docker exec -it kind-control-plane crictl images
Deploying in a Cluster
- Create chart values file
yourvaluesfile.yaml
. Refer to values.yaml on how to adjust this and update the kubeslice-controller
image to the local build image.
From the sample:
kubeslice:
---
---
controller:
---
---
image: aveshasystems/kubeslice-controller
tag: 0.1.1
Change it to:
kubeslice:
---
---
controller:
---
---
image: <my-custom-image>
tag: <unique-tag>
-
Deploy the updated chart.
make chart-deploy VALUESFILE=yourvaluesfile.yaml
Verify if the Operator is Running
kubectl get pods -n kubeslice-controller
Sample output to expect
NAME READY STATUS RESTARTS AGE
kubeslice-controller-manager-5b548fb865-kzb7c 2/2 Running 0 102s
Uninstalling the kubeslice-controller
For more information, see uninstalling KubeSlice.
make chart-undeploy
License
Apache License 2.0