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.
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.
Feedback
Was this page Helpful?
Receive the latest news, articles and updates from KubeSphere
Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.