在 KubeSphere v4 版本中,为保持平台的简洁性,系统默认移除了内置应用商店中的应用。用户可以按照下列步骤进行手动配置和添加。
注意:应用商店和扩展市场有所不同,扩展市场的使用方法将在后续文档中详细介绍。
- Helm Repo 源:安装过程中需要从源下载 Chart 包,确保源可用并同步最新的 Chart 包;
- 应用商店:应用被存储在平台中,默认不会自动更新,但可在审核后全局可见。
- 商店导入工具:用于将 Helm Repo 源中的应用转为应用商店应用。
企业空间中的 Helm Repo 源配置
添加源
在企业空间中添加的源仅对当前空间可见。
- 进入企业空间,选择左侧边栏中的应用仓库。
- 添加一个 Helm Repo 源。
KubeSphere v3.x 默认提供的 Helm Repo 源为:https://charts.kubesphere.io/stable。
使用源
- 进入项目,选择应用负载 > 应用。
- 点击创建 > 从应用模板,选择对应的应用源。
仅在企业空间的应用管理
安装应用商店扩展
在 KubeSphere v4 中需要安装应用商店扩展,才能在企业空间上传应用 Chart 包,上传的 Chart 应用默认只在当前企业空间可见,如需全局可见,请参考后续的全局应用配置。
- 进入企业空间,选择左侧边栏中的应用模板。
- 选择上传 Helm Chart以添加应用。
使用上传应用
- 进入项目,选择应用负载 > 应用。
- 点击创建 > 从应用模板,选择当前企业空间的应用源。
全局应用商店的应用
提交审核
在企业空间上传 Chart 后,可以将应用提交审核,通过审核后,该应用将在全局应用商店中可见,所有用户均可访问。
- 上传 Chart 后,进入应用详情页。
- 点击提交审核按钮。
通过审核
通过审核。
上架
此时,所有企业空间的用户都能在应用商店页看到这个应用。
全局的 Repo 源
可以在应用商店管理配置的 Repo 源,所有用户在项目内创建应用时,都可以选择到。
在项目中创建应用。
问题说明
上传 Helm Chart 时如果提示超出限制,需要您删除一下 Chart 包中的无用文件减小体积。
目前支持上传的文件体积,不能超过 1M,且不能调整。
当开启了 S3 外置存储时, 可不限制大小:https://github.com/kubesphere/kubesphere/blob/6a2f78ef0f3c8e0497095da831415f4e672dc14a/config/ks-core/values.yaml#L38。
但目前前端还有限制, 预计在 KubeSphere 4.1.3 版本会移除前端的这个限制。
商店导入工具
如果想把 Helm Repo 中的应用变成商店中的应用,可以使用商店导入工具来操作。
概述
本工具用于把 Helm Repo 中的软件同步到应用商店中。
这个工具是把 Repo 中的应用变成全局商店应用, 不是必须的操作。
前提条件
- 可访问的 Kubernetes 集群,并配置好
~/.kube/config
文件 - 安装应用商店管理扩展
使用方法
命令行参数
--server
:KubeSphere 的服务器 URL(必填)--token
:平台的访问令牌(必填)--repo
:Helm Repo的 URL(必填)
使用示例
# 创建service account
kubectl apply -f token.yaml
# 获取token
token=$(kubectl get secrets $(kubectl get serviceaccounts.kubesphere.io app-tool -n default -o "jsonpath={.secrets[].name}") -n default -o jsonpath={.data.token} | base64 -d)
# 执行
go run main.go --server=http://192.168.50.87:30880 --token=${token} --repo=https://charts.kubesphere.io/stable
# 删除service account
kubectl delete -f token.yaml
注意事项
多次执行的场景
由于商店允许多次上传并生成随机名称的应用,本工具不会处理多次执行的场景。如果您多次执行,希望清理生成的资源,请手动执行:
kubectl delete applications.application.kubesphere.io xxx