KubeSphere LuBan Architecture

To make KubeSphere flexible and extensible, a microkernel + extensions architecture (LuBan) is designed. In this architecture, the core part (KubeSphere Core) contains only essential basic functions for system running, while independent modules are packaged in various components (Extensions). Users can dynamically install, uninstall, enable, or disable extensions while the system is running.

KubeSphere LuBan Architecture

The KubeSphere LuBan architecture is designed as the following diagram.

architecture

What Are KubeSphere Extensions?

KubeSphere extensions are Helm Charts that follow the KubeSphere extension development specification, which extends KubeSphere’s functionality and orchestrates using Helm.

Developers in the cloud-native field no longer have to spend a lot of time learning proprietary application orchestration methods.

If you are looking for published extensions, please visit KubeSphere Marketplace

What Can KubeSphere Extensions Do?

From the frontend UI to the backend API, almost every part of KubeSphere can be customized and enhanced by extended APIs. Many of KubeSphere’s core features are also built as extensions and use the same extended API.

Here are some examples of what can be achieved using extended APIs:

  • Injecting new menus and functional pages in the project’s left navigation pane to manage more types of resources.

  • Injecting functional entries into platform-level menus to enhance platform management capabilities.

  • Embedding pages of existing third-party extensions directly into KubeSphere to aggregate dispersed systems.

  • Overriding KubeSphere’s existing page routes to implement your unique business logic.

  • Extending KubeSphere’s API.

If you want a more comprehensive understanding of extended APIs, please refer to Feature Customization

How Do I Build Extensions?

View the Development Examples section to learn how to build extensions.

If you have questions about the development process, try getting help at GitHub Issue.