在 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

本文由博客一文多发平台 OpenWrite 发布!

KubeSphere
124 声望55 粉丝

KubeSphere 是一个开源的以应用为中心的容器管理平台,支持部署在任何基础设施之上,并提供简单易用的 UI,极大减轻日常开发、测试、运维的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛...