kubeslice-controller

command module
v0.6.10-release Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

README

kubeslice-controller

multicloud-opensource kind-opensource multicloud-opensource-uat kind-opensource-uat

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 a KubeSlice Controller on a Kind Cluster

See our documentation on installing the KubeSlice Controller on a kind cluster.

Prerequisites

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 and worker-operator on the worker cluster. For more information, see 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
Latest docker image - kubeslice-controller
  1. Clone the latest version of kubeslice-controller from the master branch.
git clone https://github.com/kubeslice/kubeslice-controller.git
cd kubeslice-controller
  1. 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
  1. 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
  1. 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
  1. 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>
  1. Deploy the updated chart.

    make 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:

kubectl get pods -n kubeslice-controller

Example Output

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
apis
controller/v1alpha1
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +kubebuilder:object:generate=true +groupName=controller.kubeslice.io
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +kubebuilder:object:generate=true +groupName=controller.kubeslice.io
worker/v1alpha1
Package v1alpha1 contains API Schema definitions for the worker v1alpha1 API group +kubebuilder:object:generate=true +groupName=worker.kubeslice.io
Package v1alpha1 contains API Schema definitions for the worker v1alpha1 API group +kubebuilder:object:generate=true +groupName=worker.kubeslice.io
controllers

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL