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 on a kind cluster.
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