Skip to content

KubeSlice

What is KubeSlice

  • KubeSlice enables Kubernetes pods and services to communicate seamlessly across clusters, clouds, edges, and data centers by creating logical application boundaries known as Slices.
  • It combines network, application, and deployment services in a framework to accelerate application deployment in a multi-cluster, multi-tenant environment.

Why would I want that?

Today Kubernetes is mainly known as a container orchestration platform. However, as enterprises expand application architectures to span multiple clusters located in data centers or cloud provider regions, or across cloud providers, Kubernetes clusters need the ability to fully integrate connectivity and pod-to-pod communications with namespace propagation across clusters.

Imagine enabling communication between clusters regardless of their physical location and without having to worry about IP addressing overlap. That's what KubeSlice achieves along with ensuring that your existing intra-cluster communication remains local.

How do we do it? With the help of an overlay network that creates network isolation. Let KubeSlice worry about the responsibility of allocating subnets that are configurable based on the number of pods allocated to have inter-cluster reachability.

Getting Started

There are several ways to get started with KubeSlice.

Can I start using KubeSlice?

Yes! We have several organizations currently running KubeSlice. We would love for you to try it out and provide feedback.

📓 An enterprise edition of KubeSlice is also available. Please feel free to contact sales@avesha.io for more information on the enterprise edition.

Architecture

KubeSlice is a framework that brings both multi-tenancy and multi-cluster capabilities to Kubernetes by creating a flat overlay network to connect clusters.

The overlay network can be described as an application slice that provides a slice of connectivity between the pods of an application running in multiple clusters.

For more information, see KubeSlice architecture.

Architecture

The core components of KubeSlice are detailed below with links to their respective GitHub repos.

  • kubeslice-controller - The KubeSlice Controller orchestrates the creation and management of slices on worker clusters. The KubeSlice Controller components and the worker cluster components can coexist on a cluster. Hence, the cluster running the KubeSlice controller can also be used as a worker cluster.
  • gateway-certs-generator - This is an opinionated single-file OpenVPN TLS certificate configuration generator for slice gateways. it is an enhancement to easy-rsa (typically bundled with OpenVPN).
  • worker-operator - the KubeSlice Worker Operator is a Kubernetes operator that manages the lifecycle of KubeSlice worker clusters.
  • charts - It contains charts provided by Avesha Systems that are ready to launch on Kubernetes using the Kubernetes Helm.
  • netops - The NetOp Pods enforce the QoS Profile for a Slice. It uses Linux TC (Traffic Control) for Slice traffic classification.
  • gateway-sidecar - The slice VPN Gateway is a slice network service component that provides a secure VPN tunnel between any two clusters that are a part of the slice.
  • router-sidecar - The slice router is a network service component that provides a virtual L3 IP routing functionality within a cluster for the slice overlay network.
  • apis - The kubeslice API is a part of the Kubeslice Controller, and this repository contains the scaffolding of all Custom Resource Definitions (CRDs).

👩‍💻 This sounds awesome and I want to help!!

Welcome, we're so glad you're onboard!

Check our 🚧 Project Contribution Guide if there's any feedback/issue you want to flag with the codebase.

We also have a 🚧 Documentation Contribution Guide for those looking to help better the documentation.

You can also reach us here, on GitHub, via discussions or join our bi-weekly developer meetings or

  1. Join our mailing lists
  1. Join the #kubeslice channel on the Kubernetes Slack
  2. Follow us on Twitter & Reddit for the latest updates!
  3. Please consider supporting further development of this project by starring the repo

Pinned Loading

  1. worker-operator worker-operator Public

    Kubeslice Worker Operator Opensource Repository: The KubeSlice Worker Operator is a Kubernetes operator that manages the lifecycle of KubeSlice worker clusters.

    Go 60 19

  2. kubeslice-controller kubeslice-controller Public

    KubeSlice Controller Opensource Repository: The KubeSlice Controller orchestrates the creation and management of slices on worker clusters.

    Go 58 15

  3. kubeslice kubeslice Public

    Multi-Cloud, Multi-Cluster Service Connectivity with Application Slices.

    Mustache 162 18

  4. docs docs Public

    The official documentation for Kubeslice project

    MDX 30 19

  5. kubeslice-cli kubeslice-cli Public

    kubeslice-cli: Repository for maintaining code of kubeslice cli utility

    Go 24 5

Repositories

Showing 10 of 29 repositories

Top languages

Loading…

Most used topics

Loading…