KubeSphere integrates open source OpenPitrix to set up app store and app repository services which provide full lifecycle of application management. Application Store supports three kinds of application deployment as follows:
- Global application store provides one-click deployment service for Helm-based applications. It provides nine built-in applications for testing.
- Application template provides a way for developers and ISVs to share applications with users in a workspace. It also supports importing third-party application repositories within workspace.
- Composing application means users can quickly compose multiple microservices into a complete application through the one-stop console.
In this tutorial, we will walk you through how to use EMQ X as a demo application to demonstrate the global application store and application lifecycle management including upload / submit / review / test / release / upgrade / delete application templates.
In this step, we will create two accounts, i.e.,
isv for ISVs and
reviewer for app technical reviewers.
1.1. First of all, we need to create a role for app reviewers. Log in KubeSphere console with the account
admin, go to Platform → Platform Roles, then click Create and name it
app-review, choose App Template in the authorization settings list, then click Create.
1.2. Create an account
reviewer, and grant the role of app-review to it.
1.3. Similarly, create an account
isv, and grant the role of cluster-regular to it.
1.4. Invite the accounts that we created above to an existing workspace such as
demo-workspace, and grant them the role of
2.1. Log in KubeSphere with
isv, enter the workspace. We are going to upload the EMQ X app to this workspace. First please download EMQ X chart v1.0.0 and click Upload Template by choosing App Templates.
Note we are going to upload a newer version of EMQ X to demo the upgrade feature later on.
2.2. Click Upload, then click Upload Helm Chart Package to upload the chart.
2.3. Click OK. Now download EMQ Icon and click Upload icon to upload App logo. Click OK when you are done.
2.4. At this point, you will be able to see the status displays
draft, which means this app is under developing. The uploaded app is visible for all members in the same workspace.
2.5. Enter app template detailed page by clicking on EMQ X from the list. You can edit the basic information of this app by clicking Edit Info.
2.6. You can customize the app's basic information by filling in the table as the following screenshot.
2.7. Save your changes, then you can test this application by deploying to Kubernetes. Click on the Test Deploy button.
2.8. Select project that you want to deploy into, then click Deploy.
2.9. Wait for a few minutes, then switch to the tab Deployed Instances. You will find EMQ X App has been deployed successfully.
2.10. At this point, you can click
Submit Review to submit this application to
2.11. As shown in the following graph, the app status has been changed to
Submitted. Now app reviewer can review it.
3.1. Log out, then use
reviewer account to log in KubeSphere. Navigate to Platform → App Management → App Review.
3.2. Click Review by clicking the vertical three dots at the end of app item in the list, then you start to review the app's basic information, introduction, chart file and updated logs from the pop-up windows.
3.3. It is the reviewer's responsibility to judge if the app satisfies the criteria of the Global App Store or not, if yes, then click
4.1. Log out and switch to use
isv to log in KubeSphere. Now
isv can release the EMQ X application to the global application store which means all users in this platform can find and deploy this application.
4.2. Enter the demo workspace and navigate to the EMQ X app from the template list. Enter the detailed page and expand the version list, then click Release to Store, choose OK in the pop-up windows.
4.3. At this point, EMQ X has been released to application store.
4.4. Go to App Store in the top menu, you will see the app in the list.
4.5. At this point, we can use any role of users to access EMQ X application. Click into the application detailed page to go through its basic information. You can click Deploy button to deploy the application to Kubernetes.
Depending on the business needs,
Reviewer can create multiple categories for different types of applications. It is similar as tag and can be used in application store to filter applications, e.g. Big data, Middleware, IoT, etc.
As for EMQ X application, we can create a category and name it
IOT. First switch back to the user
Reviewer, go to Platform → App Management → App Categories
Then click Uncategorized and find EMQ X, change its category to
IOT and save it.
Note usually reviewer should create necessary categories in advance according to the requirements of the store. Then ISVs categorize their applications as appropriate before submitting for review.
6.1. KubeSphere supports adding new versions of existing applications for users to quickly upgrade. Let's continue to use
isv account and enter the EMQ X template page in the workspace.
6.2. Download EMQ X v4.0.2, then click on the New Version on the right, upload the package that you just downloaded.
6.3. Click OK when you upload successfully.
6.4. At this point, you can test the new version and submit it to
Reviewer. This process is similar to the one for the first version.
6.5. After you submit the new version, the rest of process regarding review and release are also similar to the first version that we demonstrated above.
After the new version has been released to application store, all users can upgrade from this application.