loader

Registering Clusters
Introduction

Before installing a slice across your Kubernetes clusters, you must register your clusters with the KubeSlice backend using the details provided during Account Signup.

Creating a Cluster Registration .yaml File
Note
These steps should be followed for all clusters you wish to include in the KubeSlice configuration.

With minor changes for each cloud service, the following information will be required to create your cluster registration yaml file:

Variable

Clouds

Description

<api key>

All

This will be taken from the KubeSlice registration email. If you missed that step or misplaced those details simply follow KubeSlice Registration.

<refresh token>

All

This will be taken from the KubeSlice registration email. If you missed that step or misplaced those details simply follow KubeSlice Registration.

<cluster name>

All

The name of the cluster being registered.

<site name>

All

The region the cluster is located in.

<node ip>

Azure, IBM

The external IP address of the gateway node.

<network interface>

Google, Azure, IBM

Name of the network interface traffic control will be set on.

Below, we have templates for each cloud provider which can be used to register your cluster. For each cluster create a uniquely named cluster registration .yaml file using the corresponding template below:

Google Kubernetes Engine

backend:
  environment: prod
  endpoint: https://mesh.prod.aveshalabs.io
  apiKey: <api key>
  refreshToken: <refresh token>

cluster:
  name: <cluster name>
  siteName: <site name>

netop:
  networkInterface: <network interface>

Amazon Elastic Kubernetes Service

backend:
  environment: prod
  endpoint: https://mesh.prod.aveshalabs.io
  apiKey: <api key>
  refreshToken: <refresh token>

cluster:
  name: <cluster name>
  siteName: <site name>

IBM Cloud Kubernetes Service

backend:
  environment: prod
  endpoint: https://mesh.prod.aveshalabs.io
  apiKey: <api key>
  refreshToken: <refresh token>

cluster:
  name: <cluster name>
  siteName: <site name>
  nodeIp: <node ip>

netop:
  networkInterface: <network interface>

Microsoft Azure Kubernetes Service

backend:
  environment: prod
  endpoint: https://mesh.prod.aveshalabs.io
  apiKey: <api key>
  refreshToken: <refresh token>

cluster:
  name: <cluster name>
  siteName: <site name>
  nodeIp: <node ip>

netop:
  networkInterface: <network interface>
Registering the Cluster

These steps should be followed for all clusters you wish to include in the KubeSlice Slice.

First, switch contexts to the cluster you would like to register:

kubectx <cluster name>

Next, you will apply the configuration you created for the cluster:

helm install avesha-mesh avesha/avesha-mesh -n avesha-system -f <cluster registration>.yaml

Expected:

NAME: avesha-mesh
LAST DEPLOYED: Tue Feb 01 14:55:34 2022
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Avesha mesh setup successful
Cluster name: <cluster name>
Verifying Cluster Registration
Note
hese steps should be followed for all clusters you wish to include in the KubeSlice Slice

First, switch contexts to the cluster you would like to register:

kubectx <cluster name>

Validate the KubeSlice pods were installed by checking the pods belonging to the avesha-system namespace in each cluster. Get the pods in the avesha-system namespace using the command:

kubectl get pods -n avesha-system

Here is the expected output of that command:

Note
The number of NetOps pods will be the same as the node count in the Avesha Gateway Pool.
Note
The NS Manager and Kernel Forwarder pods are a daemonset.
NAME                                              READY  STATUS   RESTARTS  AGE
avesha-mesh-controller-manager-5f795dbff5-dkxsz   2/2    Running  0         18m
avesha-netop-2w59s                                1/1    Running  0         18m
avesha-netop-d55jq                                1/1    Running  0         18m
jaeger-66cbb7994f-8l5z7                           1/1    Running  0         18m
mesh-dns-659d4bf5b8-2dxfx                         1/1    Running  0         18m
nsm-admission-webhook-c95d9c4b7-fjgnx             1/1    Running  0         18m
nsm-kernel-forwarder-dwl7h                        1/1    Running  0         18m
nsm-kernel-forwarder-fbjfl                        1/1    Running  0         18m
nsm-kernel-forwarder-kmh7z                        1/1    Running  0         18m
nsm-kernel-forwarder-x9qjh                        1/1    Running  0         18m
nsmgr-h85h6                                       3/3    Running  0         18m
nsmgr-jlnh6                                       3/3    Running  0         18m
nsmgr-mlrd9                                       3/3    Running  0         18m
nsmgr-xzx89                                       3/3    Running  0         18m
prefix-service-fbc844b46-86xb8                    1/1    Running  0         18m
Note
You have successfully registered your clusters with KubeSlice.
Next Steps

Awesome, now that your clusters are registered with KubeSlice, you are ready to install your first slice. Continue below to see KubeSlice at work:

Installing Slices


< PREVIOUS
Installing KubeSlice There are three main steps to installing KubeSlice: Registering Clusters, Installing Slices, and Onboarding Applications. Avesha has compiled the below guide to walk you through installing your first KubeSlice slice. Read More
NEXT >
Installing Slices In this step, you will configure and install a slice across your registered clusters. This is the final step to be completed before you can get started deploying your applications with KubeSlice. Read More