- 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.
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.
There are several ways to get started with KubeSlice.
- 💽🫀: Try our Sandbox environment for four-hour free access.
- 📓🔖 Try our kubeslice-cli tutorials.
- 📚 Read our documentation.
- 💻 🚧 View the Getting Started with KubeSlice video on YouTube.
- 🧑💻 Get your hands dirty by trying out some examples.
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 [email protected] for more information on the enterprise edition.
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.
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).
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
- Join our mailing lists
- kubeslice-dev for development discussions
- kubeslice-users for discussions among users & potential users.
- Join the #kubeslice channel on the Kubernetes Slack
- Follow us on Twitter & Reddit for the latest updates!
- Please consider supporting further development of this project by starring the repo ⭐