完成扩展组件的打包、测试之后,您可以使用 ksbuilder 将扩展组件提交到 KubeSphere Marketplace。
在 KubeSphere Cloud 注册一个账号。
访问 KubeSphere Marketplace,点击入驻扩展市场,签署协议,成为扩展组件服务商(即开发者)。
打开 KubeSphere Cloud 账号设置,点击安全 > 创建令牌,勾选扩展组件,点击创建。
生成的令牌即为 Cloud API key, 格式如 kck-1e63267b-cb3c-4757-b739-3d94a06781aa
. 请妥善保存。
访问 ksbuilder 仓库,下载最新的 ksbuilder。
绑定 Cloud API key。
➜ ksbuilder login
Enter API token: ****************************************
Login Succeeded
提交扩展组件,示例如下。
➜ ksbuilder push /Users/stone/Downloads/alc-1.1.0.tgz
push extension /Users/stone/Downloads/alc-1.1.0.tgz
Extension pushed and submitted to KubeSphere Cloud, waiting for review
查看扩展组件的状态,提交后,状态应为 submitted
。
➜ ksbuilder list
ID NAME STATUS LATEST VERSION
516955082294618939 alc draft
➜ ksbuilder get alc
Name: alc
ID: 516955082294618939
Status: draft
SNAPSHOT ID VERSION STATUS UPDATE TIME
516955082311396155 1.1.0 submitted 2024-06-06 07:27:20
提交扩展组件后,即可在名为 kscloud-beta 的 Helm 仓库中搜索到扩展组件的安装包。方法如下:
4.1. 将名为 kscloud-beta 的 Helm 仓库添加到 Helm 配置中。
➜ helm repo add kscloud-beta https://beta.app.kubesphere.cloud && helm repo update kscloud-beta
"kscloud-beta" already exists with the same configuration, skipping
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "kscloud-beta" chart repository
Update Complete. ⎈Happy Helming!⎈
4.2. 在 Helm 仓库中搜索扩展组件的 Helm Chart 包。
➜ helm search repo alc
NAME CHART VERSION APP VERSION DESCRIPTION
kscloud-beta/alc 1.1.0 alc is an example extension
等待扩展组件审批通过,即状态从 submitted
变为 active
。
➜ ksbuilder get alc
Name: alc
ID: 516955082294618939
Status: draft
SNAPSHOT ID VERSION STATUS UPDATE TIME
516955082311396155 1.1.0 submitted 2024-06-06 07:27:20
扩展组件审批通过后,即可在扩展市场,以及 KubeSphere 控制台的扩展市场,订阅并安装该扩展组件。
使用 ksbuilder push 命令提交扩展组件时,若扩展组件 extension.yaml 的 icon 或 screenshots 引用了安装包中的文件,这些文件将会被上传到 Kubesphere Cloud 的对象仓库中,icon 或 screenshots 将会被替换为文件在对象仓库中的 HTTP URL。ksbuilder 将会重新打包之后提交。整个过程是自动的。
替换后,扩展组件安装包大小不能超过 1 MB, 否则会提交失败。