Kubeslice controller
KubeSlice Controller Opensource Repository: The KubeSlice Controller orchestrates the creation and management of slices on worker clusters.
kubeslice-controller uses Kubebuilder, a framework for building Kubernetes APIs using [custom resource definitions (CRDs)](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions). The project is written primarily in Go, distributed under the Apache License 2.0 license, first published in 2022. Key topics include: controller, crd-controller, go, orchestrate-containers.
kubeslice-controller
kubeslice-controller uses Kubebuilder, a framework for building Kubernetes APIs
using custom resource definitions (CRDs).
Get Started
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.
Build and Deploy a KubeSlice Controller on a Kind Cluster
See our documentation on installing the KubeSlice Controller.
Prerequisites
Before you begin, make sure the following prerequisites are met:
- Docker is installed and running on your local machine.
- A running
kindcluster. kubectlis installed and configured.- You have prepared the environment for the installation of
kubeslice-controlleron the controller cluster andworker-operatoron the worker cluster. For more information, see Prerequisites.
Set up Your Helm Repo
If you have not added Avesha's helm repo yet, add it.
consolehelm repo add avesha https://kubeslice.github.io/charts/
Upgrade Avesha's helm repo.
consolehelm repo update
Build Your Docker Image
To download the latest docker image for kubeslice-controller, click here.
-
Clone the latest version of kubeslice-controller from the
masterbranch.consolegit clone https://github.com/kubeslice/kubeslice-controller.git cd kubeslice-controller -
Edit the image name variable
IMGin theMakefileto change the docker tag to be built.
The default image is set asIMG ?= aveshasystems/kubeslice-controller:latest. Modify this as required.consolemake docker-build
Run Local Image on Kind Clusters
- Load the kubeslice-controller image into your kind cluster (kind).
If needed, modifyaveshasystems/kubeslice-controllerwith 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.
consolekind load docker-image aveshasystems/kubeslice-controller --name cluster-nameExample
consolekind load docker-image aveshasystems/kubeslice-controller --name kind
- Check the loaded image in the cluster. Modify the node name as required.
- Note:
kind-control-planeis the name of the Docker container. Modify the name if needed.
consoledocker exec -it kind-control-plane critical images
Deploy the KubeSlice Controller on a Cluster
-
Create a chart values file called
yourvaluesfile.yaml. Refer to values.yaml to update thekubeslice-controllerimage 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.
consolemake chart-deploy VALUESFILE=yourvaluesfile.yaml
Verify the Installation
Verify the installation of the KubeSlice Controller by checking the pods belonging to the kubeslice-controller namespace using the following command:
consolekubectl get pods -n kubeslice-controller
Example Output
NAME READY STATUS RESTARTS AGE
kubeslice-controller-manager-5b548fb865-kzb7c 2/2 Running 0 102s
Uninstall the KubeSlice Controller
For more information, see uninstall KubeSlice.
consolemake chart-undeploy
License
Apache License 2.0
Contributors
Showing top 12 contributors by commit count.
