kubeslice-controller uses Kubebuilder, a framework for building Kubernetes APIs using custom resource definitions (CRDs).
The KubeSlice Controller orchestrates the creation and management of slices on worker clusters. It is strongly recommended that you use a released version. Follow the instructions provided in this document to install Kubeslice on cloud clusters.
See our documentation on installing the KubeSlice Controller.
Before you begin, make sure the following prerequisites are met:
- Docker is installed and running on your local machine.
- A running
kind
cluster. kubectl
is installed and configured.- You have prepared the environment for the installation of
kubeslice-controller
on the controller cluster andworker-operator
on the worker cluster. For more information, see Prerequisites.
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
To download the latest docker image for kubeslice-controller
, click here.
-
Clone the latest version of kubeslice-controller from the
master
branch.git clone https://github.com/kubeslice/kubeslice-controller.git cd kubeslice-controller
-
Edit the image name variable
IMG
in theMakefile
to change the docker tag to be built. The default image is set asIMG ?= aveshasystems/kubeslice-controller:latest
. Modify this if required.make docker-build
- Load the kubeslice-controller image into your kind cluster (kind).
If needed, modify
aveshasystems/kubeslice-controller
with your locally built image name in the previous step.
-
Note: If you use a named cluster, you must specify the name of the cluster you wish to load the images into. See loading an image into your kind cluster.
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 the node name if required.
- Note:
kind-control-plane
is the name of the Docker container. Modify the name if needed.
docker exec -it kind-control-plane crictl images
-
Create a chart values file called
yourvaluesfile.yaml
. Refer to values.yaml to update thekubeslice-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 the installation of the KubeSlice Controller by checking the pods belonging to the kubeslice-controller
namespace using the following command:
kubectl get pods -n kubeslice-controller
Example Output
NAME READY STATUS RESTARTS AGE
kubeslice-controller-manager-5b548fb865-kzb7c 2/2 Running 0 102s
For more information, see uninstall KubeSlice.
make chart-undeploy
Apache License 2.0