目录

  • 1. 启用应用商店
  • 2. 应用模板开发的生命周期
  • 3. 自制应用模板(Helm Chart)
  • 4. 上传和提交应用模板
  • 5. 审核及发布应用模板
  • 6. 发布应用到应用商店
  • 7. 创建应用分类
  • 8. 部署应用
    • 8.1 部署方式1 - 从应用商店进行部署
    • 8.2 部署方式2 - 从项目中基于应用模版部署
    • 8.3 安装应用

1. 启用应用商店

KubeSphere 集成了 OpenPitrix(一个跨云管理应用程序的开源平台)来构建应用商店,管理应用程序的整个生命周期。这里提的应用即指Helm Chart(K8S资源的编排、打包、部署等)。

注:
关于Kubesphere及K8S的搭建可参见我之前的博客:
Kubesphere All-in-one模式安装

方式1:未安装KS前进行设置
在安装KS前,可通过编辑config-sample.yaml文件,设置如下:

openpitrix:store:enabled: true # 将“false”更改为“true”。

然后通过如下命令安装KS:

./kk create cluster -f config-sample.yaml

方式2:已安装过KS通过管理界面进行设置
若之前已安装过KS,则可通过KS管理界面左侧菜单CRD -> 搜索clusterconfiguration -> 然后编辑其下资源ks-installer,如下图:


同样设置openpitrix.store.enabled为true:

Kubesphere 应用商店详细开启说明可参见:
https://kubesphere.io/zh/docs/pluggable-components/app-store/

设置完成后可发现在KS管理界面上出现应用商店菜单,如下图:

也可以在不登录控制台的情况下直接访问 <节点 IP 地址>:30880/apps 进入应用商店。
如 http://192.168.3.120:30880/apps
且KubeSphere 3.2.x 中的应用商店启用后,OpenPitrix 页签不会显示在系统组件页面。

2. 应用模板开发的生命周期

按照本文后续步骤操作完,可以再参见下图梳理下整个过程:

3. 自制应用模板(Helm Chart)

注: 示例中web_app Chart具体脚本定义参见:
https://gitee.com/luoex/ks-devops-demo/tree/master/helm

使用helm3自作一个自定义的Chart,具体制作过程如下:

# 新建Chart模板,对应目录./web-app
helm create web-app# 修改web-app相关资源定义
# 修改Chart.yaml
# 添加templates/**.yaml
# 修改values.yaml
# Chart详细内容参见:https://gitee.com/luoex/ks-devops-demo/tree/master/helm# 进入web-app目录下,检查helm Chart相关脚本语法是否正确
# 若出现错误提示,则根据提示修改脚本
helm lint# 打包Chart为tgz
# {chart.name}-{chart.version}.tgz
# 执行如下命令后生成web-app-0.1.0.tgz
helm package web-app

Chart目录文件说明如下:

chartname/Chart.yaml          # 包含 Chart 基本信息(例如版本和名称)的 YAML 文件。LICENSE             # (可选)包含 Chart 许可证的纯文本文件。README.md           # (可选)应用说明和使用指南。values.yaml         # 该 Chart 的默认配置值。values.schema.json  # (可选)向 values.yaml 文件添加结构的 JSON Schema。charts/             # 一个目录,包含该 Chart 所依赖的任意 Chart。crds/               # 定制资源定义。templates/          # 模板的目录,若提供相应值便可以生成有效的 Kubernetes 配置文件。templates/NOTES.txt # (可选)包含使用说明的纯文本文件。

4. 上传和提交应用模板

进入到具体工作空间 -> 应用管理 -> 应用模版-> 创建

按照提示上传之前制作好的web-app-0.1.0.tgz

上传成功后如下图:

进入具体应用模板详情页,虽然此时应用模版状态为开发中,但依旧可以通过点击安装将此应用部署到指定K8s集群中进行调试,调式过后确定没有问题了,就可以点击提交发布,待之后审核通过后,即可进行发布。


点击提交发布后,即出现如下弹出确认页,可根据需要修改应用模板描述信息,最后点击确定即可提交。

5. 审核及发布应用模板

点击左上角的平台管理,在弹出页中选择应用商店管理

进入如下应用发布页面,在待发布Tab页面即可查看到刚才新提交的web-app应用:

点击该应用进行审核,在弹出窗口中查看应用信息、介绍、配置文件和更新日志,最后可点击通过来批准,或者点击拒绝来拒绝提交的应用。


6. 发布应用到应用商店

对于之前那已经审核通过并且同意提交后的应用模板,即可在回到工作空间 -> 应用管理 -> 应用模版界面,将应用模板最终发布到应用商店,之后所有企业空间中的用户均可以从应用商店中使用此应用模板部署应用,而未发布到应用商店的应用模板仅供创建此应用模板的空间独自使用。

注:
发布到应用商店的应用模板可被公开使用,即所有的工作空间均可使用应用商店中的应用模板部署应用,
未发布到应用商店的应用模板仅可被创建此应用模板的工作空间独自使用,其他工作空间看不到。


点击发布到商店后,应用模板状态变为已上架,之后即可在应用商店中查看到此应用模板:

7. 创建应用分类

进入应用商店中即可查看到新上架的应用,新应用默认在未分类下:

回到之前的平台管理 -> 应用商店管理 -> 应用分类页面,在此可以创建新的分类:

如上新建分类luo-app后,即可将之前新发布的web-app应用调整到此luo-app分类下:


如下新发布的应用web-app已被调整到luo-app分类下:

8. 部署应用

8.1 部署方式1 - 从应用商店进行部署

可直接从应用商店中选择对应的应用模板(已上架的应用模板),然后点击进入安装:

8.2 部署方式2 - 从项目中基于应用模版部署

进入具体工作空间 -> 项目 -> 应用负载 -> 应用 -> 基于模版的应用 -> 创建进行部署:

注:
平台管理 -> 集群管理 -> 应用负载进入无法看到应用菜单。


点击创建后,以可以分别从应用商店中的应用模板企业空间内自定义的应用模板中进行选择:

8.3 安装应用

接下来以从应用模板中选择安装为例(其他选择方式到最后的安装方式都是一样的故不再举例):

进入后点击安装按钮后即进入如下安装页面:

点击下一步配置应用设置(即可覆盖应之前Helm Chart中values.yaml中的默认值)

应用安装成功后如下图:
之后亦可进入应用的相应资源页面查看对应的资源(如工作负载、服务、容器组):

通过http://192.168.3.120:31900/hello测试服务是否可正常访问:


参考:
https://kubesphere.io/zh/docs/pluggable-components/app-store/
https://kubesphere.io/zh/docs/application-store/app-lifecycle-management/
https://kubesphere.io/zh/docs/application-store/app-developer-guide/helm-developer-guide/
https://kubesphere.io/zh/docs/application-store/app-developer-guide/helm-specification/
https://helm.sh/docs/

Kubesphere应用商店相关推荐

  1. 在 KubeSphere 中部署 Harbor

    Harbor 是一个开源仓库,通过各种策略和基于角色的访问控制来保护制品,确保镜像经过扫描且没有漏洞,并对镜像签名使其受信. 本教程演示如何从 KubeSphere 应用商店部署 Harbor. 准备 ...

  2. 使用 Sealos + Longhorn 部署 KubeSphere v3.0.0

    使用 Sealos + Longhorn 部署 KubeSphere v3.0.0 本文来自 KubeSphere 社区用户 Will,演示如何使用 Sealos + Longhorn 部署一个带有持 ...

  3. k8s kubesphere启用可插拔组件(安装前、后均可)

    启用可插拔组件 本教程演示如何在安装前或安装后启用 KubeSphere 的可插拔组件.KubeSphere 具有以下列出的十个可插拔组件. 配置项 功能组件 描述 alerting KubeSphe ...

  4. 使用 KubeSphere 和极狐GitLab 打造云原生持续交付系统

    KubeSphere 简介 Kubernetes 是一个非常复杂的容器编排平台,学习成本非常高,KubeSphere 所做的事情就是高度产品化和抽象了底层 Kubernetes,是一个面向云原生的操作 ...

  5. KubeSphere 社区双周报 | KubeKey v3.0.2 发布 | 2022-11-24

    KubeSphere 从诞生的第一天起便秉持着开源.开放的理念,并且以社区的方式成长,如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一.这些都离不开社区小伙伴的共同努力,你们为 Ku ...

  6. KubeSphere——常用应用UI可视化部署实战(1)

    摘要 有关于的KubeSphere常用应用部署实战都这里.大家可以参考去部署自己的服务. 一.KubeSphere 应用商店的构建 KubeSphere 集成了 OpenPitrix(一个跨云管理应用 ...

  7. KubeSphere 开源社区 2022 年度回顾与致谢

    2022 年,国内的云原生技术生态日趋完善,细分技术项目也不断涌现,形成了完整的支撑应用云原生化的全生命周期技术体系.基础设施即代码.微服务.Serverless 等技术,促使基础设施资源向更加灵活弹 ...

  8. kubesphere集群部署

    1,kubesphere简介 1.1 kubesphere官网 https://kubesphere.com.cn/ 1.2 什么是 KubeSphere KubeSphere 是在 Kubernet ...

  9. [云原生专题-61]:Kubesphere云治理-安装(3)-可插拔组件的安装

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. JS获取当月每天的日期,JS获取本周每天的日期
  2. 第二十天:规划风险应对
  3. Tutorial——使用Maven开发Cloud Driver
  4. pyspark常用API
  5. 基础知识--Boxing unBoxing
  6. 白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
  7. hdu 2544 最短路 Dijkstra算法
  8. 年前最后一波成绩单,请查收!
  9. 实现flex LinkBar 组件 动态切换ico图标
  10. Bootstrap~大叔封装的弹层
  11. Lintcode: O(1) Check Power of 2
  12. VirtualBox 安装ghost版windows XP
  13. struts入门的ognl
  14. java并发线程池---了解ThreadPoolExecutor就够了
  15. UnityWebPlayer使用(1) 单机环境下在WinForm中使用Unity3d
  16. 系统集成项目管理工程师是哪个部门发证?
  17. 【转】深入理解Instrument
  18. 亲密关系(二、月晕现象)
  19. 优秀logo设计解析_优秀logo设计作品及寓意解析,国外精品logo设计图片分享
  20. 在html中frame标签的作用,HTML中的frame标签常见的6大属性,新手一定要悉知!

热门文章

  1. java是多线程_Java之多线程(一)
  2. 【深度学习】 Designing Network Design Spaces
  3. Typora+smms+picGo(app) 图床使用办法
  4. Flatty Shadow图标自动产生器——在线生成各种扁平化 ICON
  5. 用查表法写c语言程序,C语言day07-15进制查表法
  6. 宇宙物演进程——外星人去哪了游戏代码(Python实现)
  7. Blazor在IoT领域的前端实践 @.NET开发者日
  8. html中的字体英文名称
  9. sas 导入csv文件_sas导入txt、csv文件方法
  10. linksys 打印软件_Linksys固件DD-WRT BitTorrent优化