Md Imran
Senior Software Engineer II at Avesha
10 July, 2023,
8 min read
KubeSlice, a powerful networking solution, facilitates secure and highly available connectivity between multiple Kubernetes clusters. By creating a flat overlay network, KubeSlice enables seamless communication between pods of an application running across different clusters. This overlay network acts as an application slice or a dedicated Virtual Private Cloud (VPC) that spans multiple clusters. With KubeSlice, pods can effortlessly connect to the overlay network and communicate with each other across cluster boundaries. link
KubeSlice’s open-source architecture consists of various components that collaborate to manage the lifecycle of connected clusters. If you want to explore or contribute to the project, you can find the source code and documentation on the official KubeSlice GitHub repository.
GitHub Repository: KubeSlice
Enhanced KubeSlice Manager / The UI: A Centralized Hub for Advanced Management at the heart of KubeSlice Enterprise lies the enhanced KubeSlice Manager. This centralized hub provides administrators with powerful tools for managing and controlling the lifecycle of the slice overlay network in multi-cluster environments. With the enhanced KubeSlice Manager, administrators can take advantage of the following advanced features:
With the enhanced KubeSlice Manager serving as the central point of control, administrators can efficiently manage and optimize their connected clusters. The Resource Quotas, Node Affinity, and RBAC management for Kubernetes Cluster features can be conveniently accessed and configured from this single management interface, providing a unified and streamlined approach to multi-cluster management.
KubeSlice provides multiple installation options to suit different preferences and deployment scenarios by using either Helm or the KubeSlice CLI. we will explore the installation using Helm. For information on installing KubeSlice using the CLI, please refer to the KubeSlice CLI documentation.
For KubeSlice Enterprise installations, you will need to obtain image pull credentials to access the required container images. To acquire these credentials, you can follow the instructions provided in the Kubeslice Registration guide. Within 15 minutes you will get an email with credentials.
Before proceeding with the installation of KubeSlice, it is essential to ensure that you have fulfilled the prerequisites outlined in the KubeSlice Prerequisites documentation.
KubeSlice trial licenses are designed to support the evaluation of KubeSlice in different cluster networking scenarios. The trial license is valid for 90 days with a 5-day grace period. The trial license supports one controller cluster and multiple worker clusters. The worker clusters can be attached to or detached from a slice, but the controller cluster must remain the same for the entire trial period.
To obtain a trial license for KubeSlice, it is essential to identify the cluster where you intend to deploy the software. The process differs based on whether the cluster is an air-gap environment or not. Let’s explore both scenarios:
If your cluster is in an air-gap environment, meaning it does not have direct access to the internet, you will need to follow a manual process to obtain the trial license. Here are the steps:
Send an email to support@avesha.io, specifying that you require a trial license for your air-gap cluster. Or fill out this form link with the reason Start a free trial.
The support team at Avesha will guide you through the process and after sharing the necessary details Avesha will provide you with the trial license file as a secret.
note that obtaining a trial license for air-gap clusters may involve additional steps and coordination with the Avesha support team. They will work closely with you to ensure a smooth trial experience.
Once you receive the trial license file, you have the flexibility to apply the license secret either before or after the installation of the KubeSlice Controller. This allows you to choose the approach that best suits your deployment workflow and preferences.
If you prefer to apply the trial license secret before installing the KubeSlice Controller, you can follow these steps:
Apply the secret to your controller cluster using the appropriate Kubernetes command. For example:
kubectl create namespace kubeslice-controller
kubectl apply -f <path_to_license_secret_file>
please refer to the Install the KubeSlice Controller document for more details.
Create the controller.yaml file using the following template.
kubeslice:
controller:
loglevel: info
rbacResourcePrefix: kubeslice-rbac
projectnsPrefix: kubeslice
endpoint: <endpoint of your cluster>
license:
# possible license type values ["kubeslice-trial-license"]
type: kubeslice-trial-license
# possible license mode - ["auto", "manual"]
mode: manual
# please give company-name or user-name as customerName
customerName: ""
imagePullSecrets:
repository: https://index.docker.io/v1/
username: <Provide from Registration Email>
password: <Provide from Registration Email>
email: <Provide from Registration Email>
To retrieve the cluster endpoint, you can follow the steps outlined in the Get the Cluster Endpoint section of the documentation.
Replace customerName with the name of your organization. Set the mode value to "manual" to specify that you acquire the license manually. Additionally, replace <imagePullSecrets> with the actual image pull secret you received via email in the previous step.
To install the KubeSlice Controller using the YAML manifest file, you can follow the steps outlined in the Apply Controller YAML section of the documentation.
For non-air-gap clusters, KubeSlice simplifies the process of obtaining a trial license by automatically fetching it from the licensing server. Here’s how it works:
Sample Controller values file YAML for Auto Mode.
kubeslice:
controller:
loglevel: info
rbacResourcePrefix: kubeslice-rbac
projectnsPrefix: kubeslice
endpoint: <endpoint of your cluster>
license:
# possible license type values ["kubeslice-trial-license"]
type: kubeslice-trial-license
# possible license mode - ["auto", "manual"]
mode: auto
# please give company-name or user-name as customerName
customerName: ""
imagePullSecrets:
repository: https://index.docker.io/v1/
username: <Provide from Registration Email>
password: <Provide from Registration Email>
email: <Provide from Registration Email>
By automatically fetching the trial license, KubeSlice eliminates the need for manual intervention and enables a seamless trial experience for internet-connected clusters.
To install the KubeSlice Manager component, you can follow the steps outlined in the Install KubeSlice Manager section of the documentation.
To log in to the KubeSlice Manager, you can follow the steps outlined in the KubeSlice Manager Login section of the documentation.
On the KubeSlice Manager, you can validate the license installed on KubeSlice.
To validate the license:
Expand Settings on the left sidebar.
Click License from the menu to see the license trial period and key.
kubectl get secret kubeslice-license-file --template='{{index .data "license-id"}}' -n kubeslice-controller | base64 -d
If you encounter issues with acquiring a trial license for KubeSlice, you can refer to the Licensing Issues section of the troubleshooting guide. This section provides guidance on resolving common licensing-related problems.
If the troubleshooting steps do not resolve the problem, reach out to the support team at support@avesha.io for further assistance. Include relevant details about the issue you are experiencing to help them better understand and resolve the problem.
These links provide detailed documentation on various important operations and features offered by the KubeSlice Manager. By exploring these resources, you can gain a deeper understanding of how to effectively manage and optimize your clusters, slices, resources, node affinity, and RBAC policies using KubeSlice Manager.
In conclusion, KubeSlice is a powerful solution that enables secure and highly available connectivity between multiple clusters. KubeSlice simplifies the management of distributed applications and enhances their resilience. In this article, we explored the introduction of KubeSlice, its enterprise features, the installation process, acquiring a trial license, and the essential operations offered by the KubeSlice Manager.
Whether you are looking to improve application connectivity, manage resources efficiently, fine-tune access controls, or optimize cluster operations, KubeSlice provides the necessary tools and functionalities. By leveraging its enterprise features, such as resource quotas, node labels, RBAC management, and more, you can take your multi-cluster deployments to the next level.
We encourage you to explore the official KubeSlice documentation for more in-depth information and guidance on how to maximize the benefits of this powerful solution. Start harnessing the capabilities of KubeSlice today and unlock new possibilities for your distributed applications.
Happy Slicing!
Building Distributed MongoDB Deployments Across Multi-Cluster/Multi-Cloud Environments with KubeSlice
Copied