loader

Prerequisites
Introduction

Before you get started installing KubeSlice, there are some prerequisites that must be completed. Follow along below to ensure you have an environment set up which will support KubeSlice installation.

Command Line Tools

Package Required

Installation Instructions

eksctl – eksctl

The official CLI for Amazon EKS

Helm (Helm | Helm) – The Package Manager for Kubernetes

Learn how to install and get running with Helm.

kubectl (Overview of kubectl) – Kubernetes CLI

Set up Kubernetes tools on your computer.

Faster way to switch between clusters and namespaces in kubectl – GitHub – ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl

Infrastructure Requirements

Kubernetes Environment

Minimum Clusters Required

2 Kubernetes Clusters

Minimum Nodes or NodePools Required

2, Each with a Minimum of 4 vCPUs and 16 GB of RAM

NodePools Reserved for KubeSlice Components

1 NodePool

Registered KubeSlice Account

Supported Kubernetes Version

Supported Istio Version

1.90

Cluster Networking
Note
Open the KubeSlice Gateway Node UDP Ports for both Public and Private Clusters.

Kubernetes Service

CNI – Network Policy Support

Open UDP Ports

Reachability Options

AWS EKS

Use Calico for Amazon EKS

30000-33000

Public Node IP with NodePort Service

GCP GKE

Enable Calico for Google GKE

30000-33000

Public Node IP with NodePort Service

IBM IKS

Calico Pre-Installed

30000-33000

Public Node IP with NodePort Service

Azure AKS

Enable Calico for Azure AKS

30000-33000

Public Node IP with NodePort Service

On Premises Installations

Install Calico for On-Premises Deployments

30000-33000

External reachable IP of one or more nodes in the cluster with NodePort Service.

Create the avesha-system Namespace

You will have to create a namespace called avesha-system in all registered clusters and set it as the active namespace. This will ensure all KubeSlice components are installed within the avesha-system namespace.

To create the namespace:

kubectl create ns avesha-system

Expected:

namespace/avesha-system created
Cluster Context Switching

In order to run kubectl commands on each cluster, you will be required to change your kubeconfig context frequently. Using kubectx can make this process much easier and save you time.

To switch context to a certain cluster, simply run the below command with the corresponding cluster name you would like to target:

kubectx <cluster name>

Expected:

Switched to context "<cluster name>"

To return to the last used context, you can simply use the below command:

kubectx -

Expected:

Switched to context "<previous context>"

For support with kubectx, visit the official documentation:

Required Roles (RBAC)
Note
We recommend the installation be done by a cluster admin. If done by another user, the following instructions should be followed to create the RBAC objects.

If the installation needs to be delegated to a non-admin user, the following RBAC objects would be required:

Creating Cluster Roles

Note
You have successfully setup the required KubeSlice preqreuisites.
Next Steps

Next, you will visit the KubeSlice account signup page to retrieve the API key and Token required to get started. Great Work! Account Signup


< PREVIOUS
Getting Started This guide will walk you through successfully installing and registering your cluster with KubeSlice. We have worked to make this experience as seamless as possible. If you have any comments, questions, or issues, feel free to contact Avesha Support. Read More
NEXT >
Creating Cluster Roles Before a user is able to install KubeSlice and begin creating slices, it is recommended to perform the installation with the role of Cluster Admin. Follow along to create and apply the files required to enable the proper roles for the installation of KubeSlice. Read More