首页 文章 精选 留言 我的

精选列表

搜索[告别],共886篇文章
优秀的个人博客,低调大师

告别数据填报低效!专业表格解决方案,帮开发者搞定全场景需求

前言: 在数字化时代,数据是企业运营的核心资产。表格产品作为数据管理的重要工具,在数据填报场景中提供了多样化的解决方案,极大地提升了数据收集、处理和分析的效率。本文将深入探讨表格产品在数据填报场景中的各类解决方案,涵盖动态表格生成、智能化数据管理、企业级扩展功能等多个方面。 数据源接入: SpreadJS 的 DataManager 是一款功能强大且全面的数据管理工具,它在数据处理流程中扮演着核心枢纽的角色,主要负责数据加载、管理以及数据源更新等关键任务。 DataManager 具备出色的兼容性,支持多种常见的数据格式,无论是从本地文件还是远端服务器,都能轻松实现数据加载。这种灵活性使得用户可以将不同类型、不同来源的数据整合在一起,进行统一高效的管理,打破了数据孤岛的限制。 此外,DataManager 拥有强大的数据同步能力。在绝大多数应用场景下,它能够自动将数据的变化实时更新至数据源,或者通过请求的方式将数据变动同步回服务端,确保数据在多端之间的一致性与时效性。 目前 dataManager 有三种方式设置数据源: Http请求: 本地数据data 本地json文件 打开 SpreadJS 在线表格编辑器,如下图所示,依次点击"数据"---->"数据源"---->"添加表",在读取input框中,配置数据请求的连接。 动态表格生成与交互设计: 交叉报表 交叉报表是行、列方向均设有分组的基础报表类型,通过横纵双向分组将数据组织为二维结构,常用于多维度数据统计与分析。其核心特征体现在行列标题确定交叉区域,由双向分组字段动态扩展生成网格化布局,交叉点通过汇总函数计算数值,与传统纵向分组报表形成显著区别。 SpreadJS表格产品通过行列动态配置技术,能够根据用户的选择自动生成动态行列扩展的交叉报表。例如下面的场景,在统计报表场景中,客户需要做一个教育水平与职业选择关系的统计。希望动态生成纵向按照教育水平为行,横向按照职业类别为列的表格进行统计分析。 SpreadJS报表在接入数据源后,从左侧的数据源列表中拖入相应的字段。 通过右侧的设置面板,将对应字段设置为横向扩展。 拖入汇总字段(人数),通过右侧设置面板,将数据类型设置为汇总类型。 2.补齐装饰元素(对角线,边框,表头等) 3.点击预览查看效果 主子报表 主子报表是一种通过主表与子表结构展示层级化数据的特殊报表类型。其核心特征是将数据集划分为主表数据集与子表数据集,主表通常以自由格式展示汇总信息,子表则以列表形式呈现明细数据,形成一对多的关联关系。 上下文(Context)是SpreadJS报表中一个非常重要的概念。它会影响报表的布局,因为默认情况下,它会在所有上下文中过滤子单元格中的数据,并且所有子单元格都会随着上下文重复显示。单个单元格可以有两种上下文: 垂直上下文:在此情况下,单元格将左侧具有垂直溢出方向的单元格用作垂直上下文。 水平上下文:在此情况下,单元格将上方具有水平溢出方向的单元格用作水平上下文。 使用上下文功能可以更加遍历的创建主从报表,例如下面的场景,用户希望通过订单与订单明细之间的关系,创建一张主从报表,在显示订单列表的同时,显示每条订单的订单明细。在SpreadJS报表中只需要进行如下的操作: 构建报表的基本轮廓,在SpreadJS报表在接入数据源后,从左侧的数据源列表中拖入相应的字段,统计字段设置统计公式。 2.对报表外观进行美化,设置背景色,边框,字体,合并单元格 3.子订单信息的子表与主表订单表存在主子关系,需要设置上下文进行关联。设置后,生成报表时会按照主子关系进行生成。 4.设置过滤条件,过滤掉子表没有内容的数据。 5.点击预览查看效果 交互式填报界面 上文配置的字段,基于报表展示的结果,可以对相应的字段区域(单元格)进行填报,从而实现网页端在线填报。这种技术在多表关联填报中尤为重要,支持主从表、交叉表、分页表等多种复杂表样设计,满足业务场景的多样化需求。例如,在采购管理系统中,采购商品报价需要处理大量的输入字段和联动计算公式,表格产品能够有效解决这些技术难点,提供比Excel文件更好的业务信息交互方式。 数据管理能力 数据校验规则 表格产品内置了多种数据校验规则,包括主数据校验、格式验证及公式联动校验。主数据校验可以确保部门名称等数据的标准化,格式验证则通过正则表达式等方式保证数据的准确性。公式联动校验则能够自动检查数据之间的逻辑关系,避免错误数据的录入。这些校验规则大大提高了数据填报的准确性和可靠性。 如下图所示:设置了一个数字验证器,其中数字应该大于或等于5,填报内容小于5的填报项会用红框圈出,具有警示效果。 导入,导出 SpreadJS报表支持导入导出Excel文件,保留原有数据的同时实现无失真转换。这一功能在企业数据管理中尤为重要,因为它允许用户无缝地从传统Excel工作方式过渡到在线填报系统,而无需担心数据丢失或格式混乱。 例如:制作复杂报表时,往往有参照的Excel样本,SpreadJS报表工具支持导入模板功能,可以利用此功能导入已有的Excel模板,在其基础上进行设计,避免了重头设计导致很多重复的工作。 最终生成的报表需要做离线填报的时候,可以使用SpreadJS报表的导出功能,导出成Excel文件,Excel文件能够还原整个报表的样式,边框,数据验证等元素。满足用户线下离线填报的需求。 打印 通过SpreadJS报表工具的打印功能,可以将报表的填报内容进行打印,便于纸质留存,在一些特殊行业中纸质文档有其存在的必要性,例如在医疗、法律等受严格监管的行业,纸质文档是法律凭证和存档的必备形式,打印功能可确保文件符合行业规范要求。 自动化汇总分析 SpreadJS报表工具提供汇总功能,其内部嵌入的公式引擎,支持超过400种以上的Excel公式计算,利用Excel公式计算可以支持支持多层级数据汇总求和。通过填报提交进行上报。另外搭配Wyn 商业智能BI软件,可以对整个状态进行监控,后续利用其数据分析功能,可以进一步对上报的数据进行实时分析。这一功能在财务填报、生产报价、人力资源管理等高频业务场景中尤为实用。通过自动化汇总分析,企业可以快速生成各类报表,为管理层提供深入的数据洞察,支持更为精准的战略决策。 企业级扩展功能 权限控制体系 表格产品实现了单元格级别的数据权限管理,可以从单元格->行列->工作表->工作簿实现不同级别下的权限管理,例如,部门间的数据可以设置为不可见,可以根据部门权限对部门的数据进行隐藏处理,这样确保数据的安全性。此外,通过角色权限管理,企业可以为不同用户设置不同的读写权限,避免数据被误操作或泄露。这种权限控制体系在大型企业中尤为重要,能够有效保护敏感数据的安全。 国际化支持 表格产品支持多语言配置,适配跨国企业的数据采集需求。例如支持阿拉伯语(Left to Right)的输入方式,大大方便了跨国企业的数据采集操作,提高了工作效率。 低代码开发支持 模板化快速搭建 SpreadJS报表产品可以内嵌至低代码平台(活字格),通过拖拽式设计器生成报表模板,使用低代码快速配置数据源和页面,降低了技术门槛。例如,活字格低代码开发平台提供了一套全面的表格报表解决方案,支持多种报表样式的灵活展示和数据填报功能,包括行式报表、分组报表、交叉报表等。用户无需编写复杂的代码,即可快速搭建符合自身需求的报表模板。 数据库直连能力 活字格低代码平台支持SQLServer、Oracel、MySQL等多种数据库对接,实现填报数据实时入库。这一功能使得企业能够直接连接现有的数据库系统,无需手动导入导出数据,大大提高了数据处理的效率。 实际应用案例 生产采购管理系统 在ERP系统应用中,SpreadJS报表产品展现出了显著的价值。它有效解决了用户从传统Excel操作习惯到现代化信息化办公的转变难题,将Excel的操作体验融入到Web应用中,降低了学习成本,提高了工作效率。同时,它还简化了报表制作流程,提高了报表制作效率,帮助快速生成各类报表,满足不同业务场景的需求。例如: 港澳车务系统是一款专为优化客户车务管理业务而设计的ERP应用软件。在项目启动阶段,团队经过周密的规划和深入的业务分析,成功构建了系统框架并完成了各业务模块的开发。然而,系统上线后却遭遇了一系列的挑战,主要源于客户长期依赖的传统Excel操作习惯于现有的技术框架之间存在不兼容。客户在日常工作中普遍使用Excel,虽然他们期望实现现代化的信息办公方式,但仍希望新系统能够保留Excel操作的便利性。为此,团队迫切需要构建一套基于BS架构且能兼容Excel操作习惯的应用系统。在此背景下,ERP应用开发团队引入SpreadJS表格插件,有效地解决了这一操作系统的转换问题,确保系统能够在BS架构下兼容Excel的操作习惯,满足其现代化办公的需求。 在系统中通过报表插件展示报表数据: 利用填报功能实现即时在线填报: 利用低代码开发平台完成整体系统开发,嵌入SpreadJS报表产品完成核心业务逻辑 未来发展趋势 随着人工智能技术的不断发展,智能生成多样化表格解决方案应运而生。这些软件不仅能够自动识别、整理和生成表格,还能根据用户需求进行数据排序、筛选、合并等操作。例如,生成表格的软件支持多种表格格式输出,如Excel、CSV、PDF等,满足了不同用户的需求。 此外,AI智能生成多样化表格解决方案通过自动识别数据类型和结构,生成相应的计算公式,简化了数据解决流程。例如,某高校利用生成表格公式快速计算出学生的总分、平均分等指标,提高了工作效率。 表格产品在数据填报场景中提供了多样化的解决方案,从动态表格生成到智能化数据管理,再到企业级扩展功能和低代码开发支持,极大地提升了数据收集、处理和分析的效率。随着技术的不断进步,表格产品将继续创新,为企业提供更为强大和便捷的数据管理工具。 体验地址 SpreadJS在线表格编辑器

优秀的个人博客,低调大师

告别CRUD地狱!活字格低代码3小时交付业务系统,效率提升10倍 | 葡萄城技术团队

引言 在数字化转型浪潮中,企业IT团队正面临严峻挑战:80%的开发精力消耗在表单、审批流等重复性功能上,而业务部门却抱怨“需求响应太慢”。如何打破这一僵局?西安葡萄城推出的活字格企业级低代码平台,凭借可视化开发、AI智能生成、开放集成三大核心能力,正将业务系统开发效率提升至传统模式的10倍——本文将通过真实案例拆解其颠覆性价值。 一、CRUD困局:数字化转型的隐形成本 调研显示,企业业务系统开发存在两大效率黑洞: 重复劳动占比畸高 基础功能开发(表单设计、权限管理、报表配置)占用70%以上工时 某零售企业IT日志显示:每月需修改156次相似表单字段 交付周期严重脱节 传统开发模式下,一个供应商管理系统平均需2周交付 业务规则变更时,代码级修改导致平均3天停服 > 客户痛点实录: > > “我们5人团队每年开发20个系统,其中16个是不同名字的CRUD套娃。” > > ——某制造集团CIO访谈 二、活字格破局之道:三大技术引擎解析 ✅ 1. 流程中心:拖拽式设计,复杂逻辑秒级配置 BPMN可视化引擎:采用简化版BPMN 2.0标准,像绘制流程图一样搭建审批/派单流程(流程开发指南) 智能路由决策: 自动识别组织架构中的审批路径(如“部门经理→财务总监”) 支持动态加签、并行会签等复杂模式 热更新技术:流程规则修改后即时生效,无需重新发布 > 案例:某物流公司用活字格重构运单系统,审批流配置时间从3天→2小时,错误率下降90%。 ✅ 2. 开放集成:企业级系统的“连接器” 单点登录(SSO):无缝嵌入SAP、用友等系统界面,用户无感知切换(集成方案) 混合开发模式: 高性能操作(如万级数据导入)通过服务端命令实现 前端保留低代码快速迭代优势 遗产系统迁移:独家支持Access应用一键转Web系统,历史数据自动继承 ✅ 3. AI革命:自然语言驱动开发 智能体(Agent): 用户说“创建采购审批流程”,自动生成流程图+数据模型 支持多轮对话修正(如“增加质检环节”) 设计时辅助: 输入“供应商管理系统”,AI推荐字段结构(名称、信用等级、合作年限) 自动生成移动端适配页面 三、效率实测:3小时交付供应商管理系统 时间轴(某科技企业真实案例): 时间 任务 关键技术 09:00-09:30 AI生成数据模型 自然语言→数据库表自动生成 09:30-10:30 搭建供应商准入流程 拖拽式BPMN设计器 10:30-11:00 对接天眼查API校验企业资质 服务端命令调用REST API 11:00-11:30 发布至企业微信/钉钉 多端自适应渲染引擎 > 效果对比: > > - 传统开发:14人天,成本≈3.2万元 > - 活字格:3小时,成本≈0.2万元 四、行业实践:低代码的千企千面 行业 典型场景 效率提升 教育 智能组卷系统 出题效率提升8倍 零售 动态会员管理体系 积分规则调整周期1天→1小时 制造 设备报修-MES工单联动 故障响应速度提升60% 五、为什么选择活字格? 能力维度 传统开发 活字格方案 开发速度 周级交付 小时级交付 修改成本 需停服+全量回归测试 实时热更新 技术门槛 需专业程序员 业务人员可参与 TCO(总拥有成本) 高(人力+运维) 降低60%以上 结语:低代码是生产力革命,不是妥协方案 国外某机构预测,2025年70%的新应用将由低代码构建时,活字格已证明: 对IT团队:将创造力从CRUD中释放,专注架构优化与创新 对业务部门:获得“所想即所得”的数字化能力,试错成本趋近于零 对企业:用软件迭代速度构筑市场竞争壁垒 正如首批尝鲜者所言:“以前不敢想的定制化系统,现在今天提需求、明天就能用——这才是数字化的本来面目。” > 行动指南: > > 1. 下载活字格试用版 > 2. 参加《3天速成训练营》(附实战案例包) > 3. 联系葡萄城专家获取行业解决方案白皮书

优秀的个人博客,低调大师

【快讯】基于 Fastcms 的微信插件上线了:Fastcms 基于插件的扩展能力,彻底告别臃肿的代码

基于Fastcms的微信支付插件上线了,Fastcms是首个把支付做成插件的开源系统,本文带您尝个鲜 准备工作 下载并安装Fastcms 下载Fastcms 安装Fastcms 下载Fastcms微信支付插件 下载微信支付插件包 插件安装与使用 安装插件 进入Fastcms系统后台,安装插件如下图 配置插件 点击插件列表右边配置按钮,进入如下界面 使用插件 PC网站使用支付插件,如下图 代码托管 Gitee | Github

优秀的个人博客,低调大师

告别百度网盘,一个公私兼备的网盘系统-Cloudreve

应用简览 Cloudreve 是一个开源的网盘系统,支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。 主要特性 ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 、S3兼容协议 作为存储端 📤 上传/下载 支持客户端直传,支持下载限速 💾 可对接 Aria2 离线下载,可使用多个从机节点分担下载任务 📚 在线 压缩/解压缩、多文件打包下载 💻 覆盖全部存储策略的 WebDAV 协议支持 ⚡ 拖拽上传、目录上传、流式上传处理 🗃️ 文件拖拽管理 👩‍👧‍👦 多用户、用户组、多存储策略 🔗 创建文件、目录的分享链接,可设定自动过期 👁️‍🗨️ 视频、图像、音频、 ePub 在线预览,文本、Office 文档在线编辑 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用、国际化支持 🚀 All-In-One 打包,开箱即用 🌈 ... ... 应用特色 一、多样化的外部存储、流畅的文件上传、管理体验 Cloudreve 支持对接多种外部存储,如本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 、S3兼容协议等,文件的上传和下载全部为客户端直传,无需经过服务器中转。 同时,在 Web 端,Cloudreve 提供了强大的文件管理及上传组件:通过拖拽管理文件;多选、范围选择批量操作文件,对文件进行分享、移动、复制、压缩等操作。功能丰富的上传任务管理器,支持目录上传、断点续传、并行上传、拖拽文件上传。 二、离线下载,构建私人离线资源库 将磁力链、种子文件、下载链接交给 Cloudreve 处理,Cloudreve 会在服务端下载您指定的文件, 并自动上传到对应的存储端中.您还可以通过从机 Cloudreve 节点,将不同的离线下载和转存任务分配到不同服务器处理,减轻主节点的负载压力。 三、快速分享你的文件、目录 对 Cloudreve 中的文件创建分享链接,别人可以通过此链接访问、下载或预览文件。分享链接完全由你控制,提供了丰富的配置选项。支持密码保护、自动过期等选项。 四、多端同步,从多种设备、应用中访问文件 通过 Cloudreve iOS 客户端,你可以在移动设备上便捷地管理文件; 通过 WebDAV 协议,还可以在所有支持 WebDAV 协议的应用中访问并操作文件,包括 系统文件管理器、 各种文件管理器客户端、视频播放器、笔记软件等,比如:Cloudreve for iOS、nPlayer、Solid Explorer File Manager、Joplin等。 安装指南 进入云原生应用商店 搜索 Cloudreve 进入详情,选择包类型(本应用支持,docker安装,ram安装) 点击安装,执行相应命令即可。如有疑问可参阅使用文档 或加入社区 关于云原生应用市场 云原生应用市场是一个汇聚了各类开源软件的应用市场,不仅可以作为你自己的 Helm Chart 仓库,提供丰富多样的Helm应用,还有 Docker 应用、Rainbond 应用模板、信创应用等多种选择。 官网:https://hub.grapps.cn/ 微信群:关注 云原生应用市场 公众号加入技术交流群

优秀的个人博客,低调大师

JeecgBoot v3.9.2 王炸版,低代码 v2.0 告别拖拉拽,Skills 一句话搭建系统

项目介绍 AI Skills 自然语言编程全新发布:一句话生成完整代码、一句话画流程、一句话设计表单、一句话出报表与大屏、一句话生成整个系统,覆盖 JeecgBoot 低代码全场景。 JeecgBoot 是一款 AI 低代码开发平台,支持 "低代码 + 零代码" 双模式。零代码模式下,5 分钟零代码快速搭建完整业务系统; 低代码模式下,AI 自动输出前后端代码、建表 SQL 与菜单权限,生成即可运行。 平台内置 AI 应用平台:AI 聊天助手、知识库、流程编排、MCP、插件,兼容各大模型!具备 Skills 能力,一句话画流程图、设计表单、甚至生成整个系统! 整体遵循 "AI 生成 → 在线配置 → 代码生成 → 手工合并" 的开发流程,解决 Java 项目中 80% 的重复工作,在大幅提升效率的同时又失灵活性。 发版时间:v3.9.2 * 2026-04-30 源码下载 Github 地址:https://github.com/jeecgboot/JeecgBoot Gitee 地址:https://gitee.com/jeecg/JeecgBoot 升级日志 v3.9.2 是 JeecgBoot 自 AI 路线开启以来最重的一次版本大升级。低代码再进化,正式迈入 v2.0 时代 —— 从「拖拉拽」到「一句自然语言」,全线 Skills 加持,一句话即可搭建业务,手工配置成为历史!低代码不再只是「拖拖拽拽生成 CRUD」,一句话创建大屏、一句话搭建 OA 审批、一句话生成整个系统,已在 JeecgBoot 成为现实!本次升级还全面打磨低代码开发体验,涵盖表单、图表、大屏、安全与前端性能的系统性优化,同步开放 Online 前端源码,并新增 Online 图表大模块。 ✨ 本次发布的 "高度" 1. Skills:让 AI 真正成为你的开发搭档 Claude Code Skills 接入低代码:代码生成、Online 表单、报表、大屏、流程全面对接 Claude Skills,无需手动操作代码生成器 ——AI 一句话生成代码、一句话生成整个系统、一句话创建 Online 表单、一句话创建 Online 报表、一句话设计大屏、一句话配置字典、创建菜单并完成授权,全部触手可及。 2. AI 应用大优化 Chat2BI / Chart2BI 对接 Online 表单:一句话生成分页表格、报表与图表配置,数据分析链路全程打通。 AI 流程编排能力大爆发:新增变量读写、记忆检索、循环变量、结构化 JSON 输出、提示词表关联、文件上传起点节点等,AiFlow 已进化为一套完整的可视化 Agent 编排平台。 AI 应用工具白名单 + 跨租户隔离:能力开放与权限管控并举,SaaS 多租户安全边界筑牢。 配套上线AI 助手联网搜索与AI 流程搜索引擎节点,让 AI 流程既能「会用工具」,也能「会查资料」。 Langchain4j 1.12.2 升级:Java AI 应用能力边界重新定义 ——AI 助手不再依赖人工提示词盲调接口,也支持 Skills 元数据自动选择并调用业务能力。 3. AI 多模态生产力(图 / 音 / 视频 / 换衣) 真实的 AI 生成音频 / 视频 / 图片,不再是 Demo AI 换衣同时输出图片与视频 谷歌生图模型、本地语音合成、混图示例 全部到位 模型矩阵补齐:VLLM / Xinference / LMStudio /qwen-vl-ocr/qwen3.5-plus / 通义千问 / 千帆 4. Online 三件套(表单 / 报表 / 图表)一次性优化 Online 模块前端源码完全开源,AI 时代用户可自由灵活扩展,二次开发无门槛 新增 Online 图表大模块,快速配置图表面板,为用户提供更多可视化选择 新增 LongText 字段类型与link_table /link_table_field 类型(Vue3 一对多关联记录、跨表字段引用) 子表支持分类字典树与自定义字典树,层级数据配置更灵活 解决多年顽疾:Online 配置卡顿(QQYUN-14177)、Online 打开慢、小屏字段定位不可见等体验痛点全面修复 新增 Online 表单 Schema 规范文档,为 AI 深度理解 Online 元数据夯实基础 5. 全面按需加载,前端瘦身 antd /unplugin-icons/ Jvxetable / Vxetable / TinyMCE / JEasyCron /codemirror/ 聊天模块 全部按需加载 首屏体积与加载速度显著下降,为 AI 助手在线入驻业务页面铺平道路 6. 安全加固 AI 海报 SSRF(#9579)、AI 附件路径遍历(#9519)、AiragApp 跨租户写入(#9462)、Token 越权(#9518)、RCE #9335等多个高危漏洞集中修复 给MCP / 底层敏感工具全面加上权限校验 🎯 低代码 v2.0 时代,意味着什么? Skills 让低代码平台沉淀的表单、流程、报表、大屏,自动成为 AI 可直接调用的业务能力 —— 无需手写 Tool、无需二次开发,自然语言即可驱动全套业务流程自动化执行,甚至一句话生成整个系统。 维度 v3.9.1 及以前(拖拉拽时代) v3.9.2(一句话时代) 低代码定位 表单 / 流程 / 代码生成 / 报表和大屏设计 AI Native 的业务能力出口 交互方式 拖拉拽 + 手工配置 一句自然语言,搞定一切 业务搭建 手动拖组件、配字段、设流程 一句话设计表单,画流程 / 报表 / 大屏 / 菜单 AI 用法 完全手工搭建:手动配表单、画流程、建关联、配菜单、逐步授权 AI 一句话搭表单、画流程、绑关联、建菜单、完成授权,一条龙搞定 业务接入 AI 需二次开发手写 Tool Online 表单 / 流程节点 = 天然 Skill 多模态 仅文本 文本 / 图像 / 音频 / 视频 /Skills 全模态覆盖 安全 漏洞分散修复 专项漏洞修复 + 权限管控 + 租户隔离加固 Skills 功能模块(全新独立仓库 jeecgboot/skills) 与 v3.9.2 主版本同步发布的全新独立仓库jeecgboot/skills—— 基于 Claude Code 的 AI 技能集合,用自然语言驱动,一句话生成代码、表单、流程、报表、图表、大屏、仪表盘。 入门文档 Skills 视频 仓库基础信息 适配:JeecgBoot 3.x/2.x 依赖:Python 3.12+,Claude Code 模型:官方 Claude / DeepSeek-v4 / MiniMax 2.7 三套方案任选 JeecgBoot 六大 Skills jeecg-codegen:代码生成器 —— 自然语言生成全套 CRUD(Java + Vue3 + SQL) jeecg-onlform:Online 表单生成器 —— 元数据驱动创建 CRUD 表单 jeecg-onlreport:Online 报表生成器 —— SQL 驱动的数据报表 jeecg-desform:设计器表单生成器 ——支持截图识别生成表单 JSON jeecg-onlchart:Online 图表生成器 —— 自动生成数据可视化图表 jeecg-bpmn:BPM 流程生成器 —— 自动生成 Flowable BPMN XML 审批流程 JimuReport 三大 Skills jimureport:积木报表生成器 —— 多类型报表 +截图识别生成 jimubi-bigscreen:大屏生成器 —— 1920×1080 全屏数据可视化 jimubi-dashboard:仪表盘生成器 —— 24 列栅格布局数据看板 AI 应用 大特性 DeepSeek 最新大模型 deepseek-v4 兼容#9585 AI 助手支持联网搜索 AI 流程新增搜索引擎节点 Langchain4j 新版支持 Agent Skills,重新定义 Java AI 应用的能力边界 langchain4j 升级到 1.12.2 版本 jeecg-boot-starter-chatgpt 更名为 jeecg-boot-starter-ai AI 生成视频页面(含视频生成服务及接口实现) AI 生成音频页面 AI 换衣功能可生成图片和视频 视频生成做成真实功能 语音生成做成真实功能 支持谷歌生图模型 AI 绘画 支持本地语音合成 AI 知识库支持网页类型知识库 【issues/8143】知识库能够自定义分词参数 创建知识库时可创建分段策略,知识库内文档默认沿用 商品导购应用加入应用门户 AI 流程 (AiFlow) 新增变量读取 / 变量赋值 / 记忆检索 / 记忆写入节点 开始节点支持上传文件 LLM 节点支持结构化输出 JSON 对象 LLM 节点对接提示词表,可直接关联提示词 LLM 节点关联提示词必须选择后才切换,避免用户未关联直接使用 新增循环变量节点 循环节点支持暴露循环体内节点变量 AI 流程知识库写入支持分段策略 节点需要应用时展示选应用下拉框 工具调用节点展示 MCP 暂不支持的提示 优化调试展示,先跳到追踪页,结束跳转结果页 支持发布后只读查看节点配置 新增拖拽新增节点 流程编排 HTTP 请求超时时间设置了未生效 #9533 修复调试时记忆节点找不到记忆库 ID 自定 SQL 语句前后有空格时无法执行 修复删除连线按钮错位 修复记忆写入节点样式问题 修改添加字段弹窗的最小高度避免出现滚动条 AI 聊天 / 智能体 智能体里调用的工具过程也可以显示出来 智能体加上 "是否显示工具调用过程" 工具调用结果展示新增滚动条 AI 模型未激活或不可用时直接使用平台底层默认模型 平台默认聊天支持图片 聊天无法交互、无法输入提示 聊天界面没有提示准确信息 采用系统默认聊天,图片生成成功但日志不应提示 "模型未激活" AI 应用调用工具后继续问答会导致报错 AI 写作应该以 "回复" 来生成而非以 "内容" Chat2BI 生成分页 table、支持导出报表 Chart2BI 对接 Online 表单 AI 改成异步,支持切换菜单 视频实际已生成完却报错 修复点击终止按钮后后台日志仍继续输出 优化 AI 工具调用异常处理,统一翻译为友好提示 优化 API 账户余额不足提示信息 AI 门户提示模型未激活 样式优化,字体小一号 海报链接替换 图像变形 混图增加示例 混图表单尺寸修改 AI 模型对接 【issues/9359】支持 VLLM 支持 LMSTUDIO 向量模型支持 HTTP 1.1 协议 【issues/9314】建议优化 Xinference 支持 已激活模型增加 "取消激活" 【issues/8】激活 qwen-vl-ocr 模型报错(增加扩展配置) 【issues/9446】qwen3.5-plus 新版本 API 需开启 incremental_output 【PR#9539】通义千问 API 不接受 null 消息内容 【#9374】千帆向量报错添加异常处理防止空指针 注释绘画模型必填,采用默认模型,绘画 id 不必填 AI 知识库 / RAG / 记忆 / 变量 【issue/9418】AI 知识库上传文件太大向量化失败 【issues/9402】文档向量化文件名中文乱码导致失败 【issues/9551】HTML 表格向量化分段被截断 【issues/9551】macOS 压缩包隐藏文件过滤(.__MACOSX/.DS_Store 等) 修复向量化时自定义分段器空白文本段异常 【issues/9455】AI 应用中设定的 RAG 参数未生效 【AI 记忆】强化 query_memory 触发时机描述,避免 LLM 在未查询时直接反问用户 记忆库不需要分段策略 【AI 变量】支持批量更新变量,返回结构化结果避免 LLM 重复调用 MCP / Skills / Tool 【#9483】给 MCP 加上权限校验 MCP 查询接口暂时不加权限 【#9464】修复未授权用户调用底层敏感工具 微服务 nginx 部署 openApi 接口访问不到 #9590 安全漏洞 【issues/9579】AI 海报图片下载 SSRF 漏洞,校验拒绝 loopback /link-local 【issues/9519】AI 附件处理路径遍历漏洞:规范化路径并强制校验沙箱范围 zip 文件 filePath 以 \ 或 / 开头被 Path.resolve 当成驱动器根路径误判 【issues/9462】修复 AiragAppController.edit 跨租户数据写入漏洞 【issue/9518】修复 SysUserController.getUserSectionInfoByToken 越权漏洞 【issues/9431】【issues/9429】文件地址漏洞问题 【issues/9424】CommandExecUtil 路径遍历 【issues/9425】EmbeddingHandler 路径遍历 【issues/9421】buildUrl 路径遍历漏洞 【#9335】远程命令执行 (RCE) 漏洞 杂项 AiragChatServiceImpl.java 编译错误,使用 instanceof 替代类型比较 演示系统三个账号作废 同步开源的异常流关闭 大屏设计器支持 AI 助手 Online 表单 配置 / 体验优化 开放 Online 前端源码 新增 Online 图表大模块 Online 支持启用外部链接,支持以外部表单方式开放访问,用户可通过链接直接进入表单完成数据填报及修改操作。 Online 配置页面修改 Online 配置新增字段排在系统字段之前 子表隐藏一些扩展配置 一对多他表字段需能选择所有字段 一对一 / 一对多编辑和详情他表字段没值 Online 一对多增加关联记录和他表字段 Vue3 Online 一对多新增 link_table、link_table_field 两种类型 【issues/7633】Online 子表支持分类字典树、自定义字典树 子表支持分类字典树和自定义字典树控件 Online 配置中尽可能多显示 Vxetable 字段 Online 配置整体优化 Online 配置界面字段配置卡顿 解决 Online 打开慢的问题 解决字段定位在小屏幕上看不见 字典放在页面属性 tab 中 图标本地化 支持配置独立的省、市、县 【#9366】Online 表单新增 LongText 类型 数字类型超出 JS 数值范围加提示 渲染字典有大量警告 优化删除确认提示内容和样式 新增 Online 表单 Schema 规范文档 Bug 修复 【issues/9307】下拉加载表字典需滚动加载 Online 详情单独的省市没显示 点击展开全部时树节点没全部展开 Online 配置生成数据按钮点击无效 Online 授权弹窗警告 开发环境数据权限看不到数据,生产正常 【issues/9452】Online 样式影响到了主项目 【issues/9414】一对一子表设置 label 长度不生效 【issues/9336】列宽拖动不了 【issues/9265】多选查询使用模糊查询,字典含 1、10 时按 1 查询会带出 10 Online JS 增强修改下拉不生效 Jvxetable / Vxetable 按需加载 Online 报表 / 图表 Online 图表使用系统变量报错 修复动态数据源解析时未填写 OrderBy 报错 【#9468】修复不完整黑名单和数据源端点权限缺失导致的 JDBC URL 注入 前端 按需加载(性能) 按需加载 codemirror Jvxetable / Vxetable 按需加载 TinyMCE 富文本、JEasyCron、JLinkTableCard 异步加载 Vue3 聊天按需加载改造 basicForm 中的自定义组件改成按需 新增 unplugin-icons 插件,icon 支持 online /local 两种模式 antd 采用 unplugin-vue-components 实现按需加载 JCronValidator 从 Form 中注释,防止首页加载,改为业务中导入 首页不加载 AppSearch 等 登录页注册、二维码登录、忘记密码组件动态加载 兼容 Vxetable 引入到了页面也不报错 Jvxetable 改成按需后不允许内部引用,否则页面卡死 通用组件 升级积木报表到最新版 升级积木 BI 大屏到最新版,支持支持 AI 助手 【issues/9326】ApiSelect 返回数据中包含 options 字段名导致渲染失败 【issues/9448】滚动时 TinyMCE 下拉打开则隐藏 【issues/9511】弹窗高度自适应(含全屏问题及对流程弹窗影响的还原) 【issues/9405】顶部混合导航模式下点击一级菜单时,最后一级是隐藏路由显示不对 【issues/9212】JVxeTypes.popup 中属性 param 传参后弹框数据为空 【#9370】j-vxe-table 列表编辑,使用 slot 后表头不显示编辑图标 Jvxetable 下拉搜索点击无反应 Vxetable 自定义树和分类字典树组件选完后变非编辑模式时先闪现 id 修复 Jvxetable 使用 fixed 固定后无法拖拽 Jvxetable 优化 使用日期、级联等组件出现警告 iframe 支持麦克风权限 用户 / 部门 / 选人 【JHHB-1278】用户组件支持部门、岗位、用户组 用户选择新组件部门多时滚动展示不全 用户组添加用户查询时需要模糊查询 部门用户组件搜索功能修改 【JHHB-1402】通知公告选人组件全屏操作底下有空白 【JHHB-1401】通知公告按部门选择接收人,部门下人员不全 【JHHB-1400】Web 端笔记本审批选择下一步操作人,左侧部门列表滚动加载不全 系统消息 【JHHB-1340】系统消息需要显示消息发送时间 【JHHB-1390】PC 端消息列表下方有空白(Edge / Chrome 都有) 【JHHB-1239】PC 端即时通讯消息需要闪烁提示 【JHHB-1410】新闻中心添加置顶、范围设置 【JHHB-1389】审批角色管理搜索审批角色后列表未加载数据 【JHHB-1189】PDF 打印时把流程业务标题作为 PDF 文件名 【Github #8855】修复文件预览路径处理问题,filePath 需先通过 getFileAccessHttpUrl 拼接完整 URL 再编码 系统消息弹窗内容高度显示异常 删除单表实例页面中假的高级查询按钮 为什么选择 JeecgBoot? 界内首款 AI 低代码开发平台,同时具备 AI 应用平台和低代码平台,通过 AI 驱动低代码开发! 开源界 "小普元" 超越传统商业平台。引领低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE),低代码开发同时又支持灵活编码, 可以帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。 1. 提供了一套完善的 AI 应用管理系统模块,是一套类似Dify的AIGC应用开发平台+知识库问答,是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可观察等,让您可以快速从原型到生产,拥有 AI 服务能力 2. 采用最新主流前后分离框架(Spring Boot3 + MyBatisPlus + Vue3.0 + TypeScript + Vite6 + Ant Design Vue4 )等新技术方案。便于学习容易上手,代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发。 3. 支持微服务 Spring Cloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供简易机制,支持单体和微服务自由切换(这样可以满足各类项目需求)。 4. 开发效率高,支持在线建表和 AI 建表,提供强大代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用。 5. 代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套)。 6. 提供强大的报表和大屏可视化工具,支持丰富的数据源连接,能够通过拖拉拽方式快速制作报表、大屏和门户设计;支持多种图表类型:柱形图、折线图、散点图、饼图、环形图、面积图、漏斗图、进度图、仪表盘、雷达图、地图等。 7. 低代码能力:在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码),在线配置零代码开发、所见即所得支持 23 种类控件。 8. 低代码能力:在线报表、在线图表(无需编码,通过在线配置方式,实现数据报表和图形报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码)。 9.Online 支持在线增强开发,提供在线代码编辑器,支持代码高亮、代码提示等功能,支持多种语言(Java、SQL、JavaScript 等)。 10. 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能。 11. 前端 UI 提供丰富的组件库,支持各种常用组件,如表格、树形控件、下拉框、日期选择器等,满足各种复杂的业务需求UI 组件库文档。 12. 提供 APP 配套框架,一份多代码多终端适配,一份代码多终端适配,小程序、H5、安卓、iOS、鸿蒙 Next。 13. 新版 APP 框架采用 Uniapp、Vue3.0、Vite、Wot-design-uni、TypeScript 等最新技术栈,包括二次封装组件、路由拦截、请求拦截等功能。实现了与 JeecgBoot 完美对接:目前已经实现登录、用户信息、通讯录、公告、移动首页、九宫格、聊天、Online 表单、仪表盘等功能,提供了丰富的组件。 14. 提供了一套成熟的 AI 应用平台功能,从 AI 模型、知识库到 AI 应用搭建,助力企业快速落地 AI 服务,加速智能化升级。 15.AI 能力:目前 JeecgBoot 支持 AI 大模型 chatgpt 和 deepseek,现在最新版默认使用 deepseek,速度更快质量更高。目前提供了 AI 对话助手、AI 知识库、AI 应用、AI 建表、AI 报表等功能。 16. 提供新行编辑表格 JVXETable,轻松满足各种复杂 ERP 布局,拥有更高的性能、更灵活的扩展、更强大的功能。 17. 平台首页风格,提供多种组合模式,支持自定义风格;支持门户设计,支持自定义首页。 18. 常用共通封装,各种工具类(定时任务、短信接口、邮件发送、Excel 导入导出等),基本满足 80% 项目需求。 19. 简易 Excel 导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能。 20. 集成智能报表工具,报表打印、图像报表和数据导出非常方便,可极其方便地生成 PDF、Excel、Word 等报表。 21. 采用前后分离技术,页面 UI 风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件、编辑器等。 22. 查询过滤器:查询功能自动生成,后台动态拼 SQL 追加查询条件;支持多种匹配方式(全匹配 / 模糊查询 / 包含查询 / 不匹配查询)。 23. 数据权限(精细化数据权限控制,控制到行级、列表级、表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段)。 24. 接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制;也提供了基于 AK 和 SK 认证鉴权的 OpenAPI 功能。 25. 活跃的社区支持;近年来,随着网络威胁的日益增加,团队在安全和漏洞管理方面积累了丰富的经验,能够为企业提供全面的安全解决方案。 26. 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)。 27. 页面校验自动生成(必须输入、数字校验、金额校验、时间空间等)。 28. 支持 SaaS 服务模式,提供 SaaS 多租户架构方案。 29. 分布式文件服务,集成 MinIO、阿里 OSS 等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。 30. 主流数据库兼容,一套代码完全兼容 MySQL、PostgreSQL、Oracle、SQL Server、MariaDB、达梦、人大金仓等主流数据库。 31. 集成工作流 Flowable,并实现了只需在页面配置流程转向,可极大简化 BPM 工作流的开发;用 BPM 的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的 Java 代码。 32. 低代码能力:在线流程设计,采用开源 Flowable 流程引擎,实现在线画流程、自定义表单、表单挂靠、业务流转。 33. 多数据源:极其简易的使用方式,在线配置数据源配置,便捷地从其他数据抓取数据。 34. 提供单点登录 CAS 集成方案,项目中已经提供完善的对接代码。 35. 低代码能力:表单设计器,支持用户自定义表单布局,支持单表、一对多表单,支持 select、radio、checkbox、textarea、date、popup、列表、宏等控件。 36. 专业接口对接机制,统一采用 RESTful 接口方式,集成 Swagger-UI 在线接口文档,JWT token 安全验证,方便客户端对接。 37. 高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史。 38. 提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、JVM、服务器信息、请求追踪、SQL 监控)。 39. 消息中心(支持短信、邮件、微信推送等);集成 WebSocket 消息通知机制。 40. 支持多语言,提供国际化方案。 41. 数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化。 42. 提供简单易用的打印插件,支持谷歌、火狐、IE11 + 等各种浏览器。 43. 后端采用 Maven 分模块开发方式;前端支持菜单动态路由。 44. 提供丰富的示例代码,涵盖了常用的业务场景,便于学习和参考。 功能清单 ├─AI应用平台 │ ├─AI模型管理 │ ├─AI应用管理 │ ├─AI知识库 │ ├─AI流程编排 │ ├─AI聊天助手(支持图片、文件) │ ├─AI聊天助手支持嵌入第三方、支持移动端 │ ├─MCP插件管理 │ ├─提示词管理 │ ├─支持各种常见模型ChatGPT和DeepSeek、ollama等 ├─AI应用门户 │ ├─ Chat2BI 图表生成智能体 │ ├─ AI绘图智能体 │ ├─ 看图说话 │ ├─ 图像识别 │ ├─ 帮我写作 ├─工具箱 │ ├─OCR识别 │ ├─AI 海报 │ ├─AI 写作 │ ├─AI 简历 ├─AI辅助功能 │ ├─AI建表(Online表单) │ ├─AI生成报表(Online报表) │ ├─AI生成大屏 ├─系统管理 │ ├─用户管理 │ ├─角色管理 │ ├─菜单管理 │ ├─权限设置(支持按钮权限、数据权限) │ ├─表单权限(控制字段禁用、隐藏) │ ├─部门管理 │ ├─我的部门(二级管理员) │ └─字典管理 │ └─分类字典 │ └─系统公告 │ └─职务管理 │ └─通讯录 │ ├─多数据源管理 │ └─多租户管理(租户管理、租户角色、我的租户) ├─Online在线开发(低代码) │ ├─Online在线表单 │ ├─Online代码生成器 │ ├─Online在线报表 │ ├─仪表盘设计器 │ ├─系统编码规则 │ ├─系统校验规则 ├─积木报表设计器 │ ├─打印设计器 │ ├─数据报表设计 │ ├─图形报表设计(支持echart) ├─消息中心 │ ├─消息管理 │ ├─模板管理 ├─代码生成器(低代码) │ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) │ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) │ ├─代码生成器模板(生成代码,自带excel导入导出) │ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) │ ├─高级查询器(弹窗自动组合查询条件) │ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) │ ├─平台移动自适应支持 │ ├─提供新版uniapp3的代码生成器模板 ├─系统监控 │ ├─基于AK和SK认证鉴权OpenAPI功能 │ ├─Gateway路由网关 │ ├─性能扫描监控 │ │ ├─监控 Redis │ │ ├─Tomcat │ │ ├─jvm │ │ ├─服务器信息 │ │ ├─请求追踪 │ │ ├─磁盘监控 │ ├─定时任务 │ ├─系统日志 │ ├─消息中心(支持短信、邮件、微信推送等等) │ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) │ ├─系统通知 │ ├─SQL监控 │ ├─swagger-ui(在线接口文档) │─报表示例 │ ├─曲线图 │ └─饼状图 │ └─柱状图 │ └─折线图 │ └─面积图 │ └─雷达图 │ └─仪表图 │ └─进度条 │ └─排名列表 │ └─等等 │─大屏模板 │ ├─作战指挥中心大屏 │ └─物流服务中心大屏 │─常用示例 │ ├─自定义组件 │ ├─对象存储(对接阿里云) │ ├─JVXETable示例(各种复杂ERP布局示例) │ ├─单表模型例子 │ └─一对多模型例子 │ └─打印例子 │ └─一对多TAB例子 │ └─内嵌table例子 │ └─常用选择组件 │ └─异步树table │ └─接口模拟测试 │ └─表格合计示例 │ └─异步树列表示例 │ └─一对多JEditable │ └─JEditable组件示例 │ └─图片拖拽排序 │ └─图片翻页 │ └─图片预览 │ └─PDF预览 │ └─分屏功能 │─封装通用组件 │ ├─行编辑表格JEditableTable │ └─省略显示组件 │ └─时间控件 │ └─高级查询 │ └─用户选择组件 │ └─报表组件封装 │ └─字典组件 │ └─下拉多选组件 │ └─选人组件 │ └─选部门组件 │ └─通过部门选人组件 │ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单) │ └─在线code编辑器 │ └─上传文件组件 │ └─验证码组件 │ └─树列表组件 │ └─表单禁用组件 │ └─等等 │─更多页面模板 │ ├─各种高级表单 │ ├─各种列表效果 │ └─结果页面 │ └─异常页面 │ └─个人页面 ├─高级功能 │ ├─提供单点登录CAS集成方案 │ ├─提供APP发布方案 │ ├─集成Websocket消息通知机制 │ ├─支持electron桌面应用打包(支持windows、linux、macOS三大平台) │ ├─docker容器支持 │ ├─提供移动APP框架及源码(Uniapp3版本)支持H5、小程序、APP、鸿蒙Next │ ├─提供移动APP低代码设计(Online表单、仪表盘) 系统效果预览 AI 模型与应用管理 AI 流程编排 MCP 和工具管理 AI 知识库(支持各种文档格式,尤其 markdown 适配很好) AI 工具箱 AI 聊天助手 AI 绘图 AI 写文章 PC 端 在线聊天 & 通知 Online 开发 (在线配置表单和报表) Online AI 建表 图表示例 积木 BI 大屏 APP 效果 PAD 端 在线接口文档 积木报表 欢迎吐槽,欢迎 star~

优秀的个人博客,低调大师

告别宕机!KubeSphere v4.1.3 联手 K8s v1.32.5,手把手教你打造“永不掉线”的云原生底座

本文首发:运维有术,作者术哥。 近期我在深入研究 MCP(Model Context Protocol)、大语言模型(LLM)与 Kubernetes / KubeSphere 的融合,期望为企业容器平台引入智能化运维与资源调度能力。 本文将基于最新的 KubeSphere v4.1.3 和 Kubernetes v1.32.5,手把手教大家搭建一套企业级的高可用集群。这套方案不仅确保了 Kubernetes 控制平面的高可用性,还实现了 KubeSphere 所有核心服务的多副本部署,可以作为生产环境的最佳实践参考。 实战服务器配置(架构1:1复刻小规模生产环境,只是配置略有不同) | 节点角色 | 主机名 | CPU(核) | 内存(GB) | 系统盘(GB) | 数据盘(GB) | IP | 备注 | | :----------: | :-----------: | :-----: | :------: | :--------: | :--------: | :----------: | :--------------: | | Control 节点 | ksp-control-1 | 4 | 8 | 50 | 100 | 192.168.9.91 | 控制节点 | | Control 节点 | ksp-control-2 | 4 | 8 | 50 | 100 | 192.168.9.92 | 控制节点 | | Control 节点 | ksp-control-3 | 4 | 8 | 50 | 100 | 192.168.9.93 | 控制节点 | | Worker 节点 | ksp-worker-1 | 8 | 32 | 50 | 100 | 192.168.9.94 | 部署通用工作负载 | | Worker 节点 | ksp-worker-2 | 8 | 32 | 50 | 100 | 192.168.9.95 | 部署通用工作负载 | | Worker 节点 | ksp-worker-3 | 8 | 32 | 50 | 100 | 192.168.9.96 | 部署通用工作负载 | | 合计 | 6 | 36 | 120 | 300 | 600 | | | 实战环境涉及软件版本信息 操作系统:openEuler 24.03 LTS SP1 x86_64 KubeSphere:v4.1.3 Kubernetes:v1.32.5 KubeKey: v3.1.10 前置条件 1.1 初始化操作系统 可选配置 ,可以参考 Kubernetes 集群节点 openEuler 22.03 LTS SP3 系统初始化指南,完成操作系统初始化配置。 如果没有挂载额外的数据盘,无需定制数据存储目录,可以选择使用 KubeKey 自动完成前置条件的安装配置。 虽然,初始化指南以 openEuler 22.03 LTS SP3 为例,但配置过程同样适用于其他 Linux 发行版,只是命令略有不同。 选配:社群成员可以使用 Ansible 脚本完成系统初始化: # 验证节点连通性 ansible -m ping k8s # 系统初始化 ansible-playbook ../../playbooks/init-os.yaml -l k8s # 数据磁盘初始化(使用 LVM) ansible-playbook ../../playbooks/init-disk-lvm.yaml -l k8s # kubesphere/k8s 节点初始化(安装 k8s 依赖组件) ansible-playbook ../../playbooks/deploy-ksp-nodes.yaml 部署 Kubernetes 集群 本文使用 KubeSphere 官方提供的集群部署工具 KubeKey,搭建一套生产级高可用 Kubernetes 集群。该集群由 3 个 Control 节点组成控制平面,确保集群管理组件的高可用性;同时配备 3 个 Worker 节点用于运行业务工作负载,实现计算资源的合理分配。这种架构设计既保证了集群的稳定性和可靠性,又提供了良好的业务负载承载能力。 在 ksp-control-1 节点上执行以下操作。该节点作为集群的主要控制节点,将用于执行集群部署和管理任务。 2.1 下载 KubeKey 下载最新版的 KubeKey(v3.1.10) mkdir /srv/kubekey cd /srv/kubekey/ # 选择中文区下载(访问 GitHub 受限时使用) export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | sh - 查看 KubeKey 支持的 Kubernetes 版本列表 ./kk version --show-supported-k8s $ ./kk version --show-supported-k8s v1.19.0 v1.19.8 v1.19.9 v1.19.15 ......(受限于篇幅,中间的不展示,请读者根据需求查看) v1.30.11 v1.30.12 v1.30.13 v1.31.0 v1.31.1 v1.31.2 v1.31.3 v1.31.4 v1.31.5 v1.31.6 v1.31.7 v1.31.8 v1.31.9 v1.32.0 v1.32.1 v1.32.2 v1.32.3 v1.32.4 v1.32.5 v1.33.0 v1.33.1 KubeKey 支持的 Kubernetes 版本非常丰富且及时更新。本文选择最新稳定版 v1.32.5。对于生产环境,建议选择: 次要版本号为双数的版本(如 v1.30.x、v1.32.x) 补丁版本号不低于 5 的版本(如 v1.30.13、v1.32.5) 避免使用太旧的版本,建议选择最近 2-3 个次要版本 可以优先考虑 v1.30.13 或 v1.32.5 这类经过充分验证的版本 选择版本时需要平衡新特性和稳定性,既要确保关键功能可用,又要避免可能的兼容性问题。 2.2 创建 Kubernetes 集群部署配置 创建集群配置文件 本文选择了 v1.32.5 版本的 Kubernetes。为了便于后续管理和维护,我们将配置文件命名为 ksp-k8s-v1325.yaml ,这个命名方式清晰地表明了所使用的 Kubernetes 版本。如果不指定配置文件名称,KubeKey 会使用默认的文件名 config-sample.yaml。 ./kk create config -f ksp-k8s-v1325.yaml --with-kubernetes v1.32.5 重要提示: 请妥善保管安装配置文件 ksp-k8s-v1325.yaml。该文件对于后续的集群维护工作(如节点扩容、集群卸载等)至关重要。如果文件丢失,您将需要重新创建配置文件,这可能会带来额外的工作量。 配置文件包含大量可配置选项。如需了解全部配置参数及其用法,请查阅官方文档中的 KubeKey 配置示例。这将帮助您更好地定制集群配置。 修改配置文件 本示例采用 6 节点高可用部署架构,其中: 3 个 Control 节点: 部署 control-plane 和 etcd 组件 3 个 Worker 节点: 部署业务工作负载 请使用 vi 编辑器,编辑配置文件 ksp-k8s-v1325.yaml,修改 kind: Cluster 小节中的以下配置项: hosts:指定节点的 IP、ssh 用户、ssh 密码 roleGroups:分别设置etcd、control-plane、worker 节点对应的 hosts 名称 internalLoadbalancer: 启用内置的 HAProxy 负载均衡器 domain:自定义域名 lb.opsxlabs.cn ,没特殊需求可使用默认值 lb.kubesphere.local clusterName:自定义 opsxlabs.cn ,没特殊需求可使用默认值 cluster.local autoRenewCerts:该参数可以实现证书到期自动续期,默认为 true containerManager:容器运行时使用 containerd storage.openebs.basePath:默认没有,新增配置 ,指定 openebs 默认存储路径为 /data/openebs/local registry.privateRegistry:可选配置, 解决 Docker 官方镜像不可用的问题 registry.namespaceOverride: 可选配置, 解决 Docker 官方镜像不可用的问题 下面是完整的配置示例,请根据实际环境修改相关配置: apiVersion: kubekey.kubesphere.io/v1alpha2 kind: Cluster metadata: name: opsxlabs spec: hosts: - {name: ksp-control-1, address: 192.168.9.91, internalAddress: 192.168.9.91, user: root, password: "OpsXlab2025!"} - {name: ksp-control-2, address: 192.168.9.92, internalAddress: 192.168.9.92, user: root, password: "OpsXlab2025!"} - {name: ksp-control-3, address: 192.168.9.93, internalAddress: 192.168.9.93, user: root, password: "OpsXlab2025!"} - {name: ksp-worker-1, address: 192.168.9.94, internalAddress: 192.168.9.94, user: root, password: "OpsXlab2025!"} - {name: ksp-worker-2, address: 192.168.9.95, internalAddress: 192.168.9.95, user: root, password: "OpsXlab2025!"} - {name: ksp-worker-3, address: 192.168.9.96, internalAddress: 192.168.9.96, user: root, password: "OpsXlab2025!"} roleGroups: etcd: - ksp-control-1 - ksp-control-2 - ksp-control-3 control-plane: - ksp-control-1 - ksp-control-2 - ksp-control-3 worker: - ksp-worker-1 - ksp-worker-2 - ksp-worker-3 controlPlaneEndpoint: ## Internal loadbalancer for apiservers internalLoadbalancer: haproxy domain: lb.opsxlabs.cn address: "" port: 6443 kubernetes: version: v1.32.5 clusterName: opsxlabs.cn #dnsDomain: opsxlabs.cn autoRenewCerts: true containerManager: containerd etcd: type: kubekey network: plugin: calico kubePodsCIDR: 10.233.64.0/18 kubeServiceCIDR: 10.233.0.0/18 ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni multusCNI: enabled: false storage: openebs: basePath: /data/openebs/local # 默认没有的新增配置,base path of the local PV registry: privateRegistry: "registry.cn-beijing.aliyuncs.com" #使用 KubeSphere 在阿里云的镜像仓库 namespaceOverride: "kubesphereio" registryMirrors: [] insecureRegistries: [] addons: [] 2.3 部署 Kubernetes 集群 现在我们使用上面生成的配置文件来创建 Kubernetes 集群。执行以下命令开始部署: export KKZONE=cn ./kk create cluster -f ksp-k8s-v1325.yaml --with-local-storage 重要说明: 本文使用 OpenEBS LocalPV 作为默认存储解决方案,需要在命令中添加 --with-local-storage 参数启用本地存储功能 该参数会自动部署 OpenEBS LocalPV 相关组件,简化存储配置流程 执行命令后,KubeKey 会首先进行环境依赖检查,确保满足部署 Kubernetes 的所有要求。检查通过后,系统会要求确认安装,输入 yes 并按 Enter 键继续部署流程。 $ ./kk create cluster -f ksp-k8s-v1325.yaml --with-local-storage _ __ _ _ __ | | / / | | | | / / | |/ / _ _| |__ ___| |/ / ___ _ _ | \| | | | '_ \ / _ \ \ / _ \ | | | | |\ \ |_| | |_) | __/ |\ \ __/ |_| | \_| \_/\__,_|_.__/ \___\_| \_/\___|\__, | __/ | |___/ 09:26:42 CST [GreetingsModule] Greetings 09:26:42 CST message: [ksp-worker-3] Greetings, KubeKey! 09:26:43 CST message: [ksp-control-3] Greetings, KubeKey! 09:26:43 CST message: [ksp-control-1] Greetings, KubeKey! 09:26:43 CST message: [ksp-control-2] Greetings, KubeKey! 09:26:44 CST message: [ksp-worker-1] Greetings, KubeKey! 09:26:44 CST message: [ksp-worker-2] Greetings, KubeKey! 09:26:44 CST success: [ksp-worker-3] 09:26:44 CST success: [ksp-control-3] 09:26:44 CST success: [ksp-control-1] 09:26:44 CST success: [ksp-control-2] 09:26:44 CST success: [ksp-worker-1] 09:26:44 CST success: [ksp-worker-2] 09:26:44 CST [NodePreCheckModule] A pre-check on nodes 09:26:48 CST success: [ksp-control-1] 09:26:48 CST success: [ksp-control-2] 09:26:48 CST success: [ksp-worker-1] 09:26:48 CST success: [ksp-worker-2] 09:26:48 CST success: [ksp-worker-3] 09:26:48 CST success: [ksp-control-3] 09:26:48 CST [ConfirmModule] Display confirmation form +---------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ | name | sudo | curl | openssl | ebtables | socat | ipset | ipvsadm | conntrack | chrony | docker | containerd | nfs client | ceph client | glusterfs client | time | +---------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ | ksp-control-1 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:47 | | ksp-control-2 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:48 | | ksp-control-3 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:48 | | ksp-worker-1 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:48 | | ksp-worker-2 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:48 | | ksp-worker-3 | y | y | y | y | y | y | y | y | y | | | | | | CST 09:26:48 | +---------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ This is a simple check of your environment. Before installation, ensure that your machines meet all requirements specified at https://github.com/kubesphere/kubekey#requirements-and-recommendations Install k8s with specify version: v1.32.5 Continue this installation? [yes/no]: yes 重要说明: 系统检查显示 nfs-client、ceph-client、glusterfs-client 等存储客户端组件未安装。这些组件将在后续存储系统对接实战中单独安装配置 容器运行时(docker/containerd)将根据配置文件中 containerManager 参数自动选择安装 整个部署过程预计需要 5-10 分钟完成。具体耗时取决于: 网络带宽状况 服务器硬件配置 集群节点数量 本次实战环境部署耗时 7 分钟。 当终端显示以下信息时,表示 Kubernetes 集群已成功创建并完成初始化: 09:33:26 CST Pipeline[CreateClusterPipeline] execute successfully Installation is complete. Please check the result using the command: kubectl get pod -A 验证 k8s 集群状态 3.1 查看集群节点信息 在控制节点1运行 kubectl 命令获取 Kubernetes 集群上的可用节点列表。 kubectl get nodes -o wide 在输出结果中可以看到,当前的 Kubernetes 集群有 6 个可用节点(3 个 Control 节点和 3 个 Worker 节点)。每个节点的详细信息包括: 节点角色(control-plane/worker) Kubernetes 版本(v1.32.5) 节点内部 IP 地址 操作系统类型(openEuler 24.03 LTS-SP1) Linux 内核版本 容器运行时类型及版本(containerd v1.7.13) 所有节点状态均为 Ready,表明集群已经成功部署并正常运行。 $ kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ksp-control-1 Ready control-plane 69s v1.32.5 192.168.9.91 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 ksp-control-2 Ready control-plane 46s v1.32.5 192.168.9.92 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 ksp-control-3 Ready control-plane 45s v1.32.5 192.168.9.93 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 ksp-worker-1 Ready worker 41s v1.32.5 192.168.9.94 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 ksp-worker-2 Ready worker 42s v1.32.5 192.168.9.95 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 ksp-worker-3 Ready worker 42s v1.32.5 192.168.9.96 <none> openEuler 24.03 (LTS-SP1) 6.6.0-72.0.0.76.oe2403sp1.x86_64 containerd://1.7.13 3.2 查看 Pod 信息 使用以下命令查看集群中所有命名空间的 Pod 运行状态和详细信息。 kubectl get pods -A -o wide 输出结果符合预期, 所有 Pod 的状态都是 Running。 [root@ksp-control-1 kubekey]# kubectl get pods -A -o wide NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system calico-kube-controllers-678fc69664-6hr2k 1/1 Running 0 38s 10.233.96.3 ksp-worker-3 <none> <none> kube-system calico-node-4nnxh 1/1 Running 0 38s 192.168.9.95 ksp-worker-2 <none> <none> kube-system calico-node-ch5q7 1/1 Running 0 38s 192.168.9.93 ksp-control-3 <none> <none> kube-system calico-node-d94p9 1/1 Running 0 38s 192.168.9.92 ksp-control-2 <none> <none> kube-system calico-node-g8fl5 1/1 Running 0 38s 192.168.9.96 ksp-worker-3 <none> <none> kube-system calico-node-jnhzw 1/1 Running 0 38s 192.168.9.91 ksp-control-1 <none> <none> kube-system calico-node-kjs7j 1/1 Running 0 38s 192.168.9.94 ksp-worker-1 <none> <none> kube-system coredns-5c68fb7f85-46pj8 1/1 Running 0 18s 10.233.101.1 ksp-control-3 <none> <none> kube-system coredns-5c68fb7f85-thqvq 1/1 Running 0 75s 10.233.96.2 ksp-worker-3 <none> <none> kube-system haproxy-ksp-worker-1 1/1 Running 0 50s 192.168.9.94 ksp-worker-1 <none> <none> kube-system haproxy-ksp-worker-2 1/1 Running 0 50s 192.168.9.95 ksp-worker-2 <none> <none> kube-system haproxy-ksp-worker-3 1/1 Running 0 50s 192.168.9.96 ksp-worker-3 <none> <none> kube-system kube-apiserver-ksp-control-1 1/1 Running 0 82s 192.168.9.91 ksp-control-1 <none> <none> kube-system kube-apiserver-ksp-control-2 1/1 Running 0 60s 192.168.9.92 ksp-control-2 <none> <none> kube-system kube-apiserver-ksp-control-3 1/1 Running 0 59s 192.168.9.93 ksp-control-3 <none> <none> kube-system kube-controller-manager-ksp-control-1 1/1 Running 0 81s 192.168.9.91 ksp-control-1 <none> <none> kube-system kube-controller-manager-ksp-control-2 1/1 Running 0 60s 192.168.9.92 ksp-control-2 <none> <none> kube-system kube-controller-manager-ksp-control-3 1/1 Running 0 59s 192.168.9.93 ksp-control-3 <none> <none> kube-system kube-proxy-7524z 1/1 Running 0 46s 192.168.9.94 ksp-worker-1 <none> <none> kube-system kube-proxy-8dscp 1/1 Running 0 47s 192.168.9.95 ksp-worker-2 <none> <none> kube-system kube-proxy-b6rk5 1/1 Running 0 46s 192.168.9.92 ksp-control-2 <none> <none> kube-system kube-proxy-bvkd6 1/1 Running 0 45s 192.168.9.96 ksp-worker-3 <none> <none> kube-system kube-proxy-ns5rs 1/1 Running 0 45s 192.168.9.93 ksp-control-3 <none> <none> kube-system kube-proxy-rhkhd 1/1 Running 0 46s 192.168.9.91 ksp-control-1 <none> <none> kube-system kube-scheduler-ksp-control-1 1/1 Running 0 80s 192.168.9.91 ksp-control-1 <none> <none> kube-system kube-scheduler-ksp-control-2 1/1 Running 0 60s 192.168.9.92 ksp-control-2 <none> <none> kube-system kube-scheduler-ksp-control-3 1/1 Running 0 59s 192.168.9.93 ksp-control-3 <none> <none> kube-system nodelocaldns-7blvp 1/1 Running 0 60s 192.168.9.93 ksp-control-3 <none> <none> kube-system nodelocaldns-7vdm7 1/1 Running 0 72s 192.168.9.91 ksp-control-1 <none> <none> kube-system nodelocaldns-gtw74 1/1 Running 0 57s 192.168.9.95 ksp-worker-2 <none> <none> kube-system nodelocaldns-l29sv 1/1 Running 0 61s 192.168.9.92 ksp-control-2 <none> <none> kube-system nodelocaldns-rl9c8 1/1 Running 0 56s 192.168.9.96 ksp-worker-3 <none> <none> kube-system nodelocaldns-xctwp 1/1 Running 0 56s 192.168.9.94 ksp-worker-1 <none> <none> kube-system openebs-localpv-provisioner-9644bcfd5-rvgqz 1/1 Running 0 29s 10.233.94.1 ksp-worker-1 <none> <none> 3.3 查看 Image 列表 使用 crictl 命令查看 Control 节点上已经下载的容器镜像列表,可以看到所有核心组件的镜像都已经成功拉取 [root@ksp-control-1 ~]# crictl image ls IMAGE TAG IMAGE ID SIZE registry.cn-beijing.aliyuncs.com/kubesphereio/cni v3.27.4 dc6f84c32585f 88.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/coredns 1.9.3 5185b96f0becf 14.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache 1.22.20 ff71cd4ea5ae5 30.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver v1.32.5 495c5ce47cf7c 28.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager v1.32.5 85dcaf69f0001 26.4MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers v3.27.4 6b1e38763f401 33.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy v1.32.5 f532b7356fac4 30.9MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler v1.32.5 2729fb488407e 20.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/node v3.27.4 3dd4390f2a85a 117MB registry.cn-beijing.aliyuncs.com/kubesphereio/pause 3.10 873ed75102791 320kB registry.cn-beijing.aliyuncs.com/kubesphereio/pause 3.9 e6f1816883972 322kB registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol v3.27.4 72bfa61e35b35 7.64MB 查看 Worker 节点上已经下载的 Image 列表 [root@ksp-worker-1 ~]# crictl images ls IMAGE TAG IMAGE ID SIZE registry.cn-beijing.aliyuncs.com/kubesphereio/cni v3.27.4 dc6f84c32585f 88.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/coredns 1.9.3 5185b96f0becf 14.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy 2.9.6-alpine 52687313354fc 12.3MB registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache 1.22.20 ff71cd4ea5ae5 30.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers v3.27.4 6b1e38763f401 33.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy v1.32.5 f532b7356fac4 30.9MB registry.cn-beijing.aliyuncs.com/kubesphereio/node v3.27.4 3dd4390f2a85a 117MB registry.cn-beijing.aliyuncs.com/kubesphereio/pause 3.9 e6f1816883972 322kB registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol v3.27.4 72bfa61e35b35 7.64MB registry.cn-beijing.aliyuncs.com/kubesphereio/provisioner-localpv 3.3.0 739e82fed8b2c 28.8MB 至此,我们已经成功完成了一个生产级高可用 Kubernetes 集群的部署。该集群由 3 台 Control 节点组成的控制平面和 3 台 Worker 节点组成的工作负载平面构成,不仅确保了集群管理组件的高可用性,也为业务应用提供了可靠的运行环境。 部署 KubeSphere 完成 Kubernetes 集群部署后,我们将通过 Helm 安装 KubeSphere v4.1.3,为集群提供强大的可视化管理能力。 4.1 安装核心组件 KubeSphere Core 使用 Helm 安装 KubeSphere 的核心组件 KubeSphere Core。KubeSphere Core 是 KubeSphere 的基础组件,提供了用户认证、多租户管理、RBAC 等核心功能。 说明: KubeKey 部署 Kubernetes 集群时会自动安装 Helm,无需手动安装 建议使用最新版本的 KubeSphere Core Chart,本文使用的是 v1.1.4 版本 helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz \ --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \ --set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \ --set ha.enabled=true \ --set redisHA.enabled=true \ --set multicluster.hostClusterName=opsxlabs-main \ --debug \ --wait 重要配置说明: ha.enabled: 设置为 true,启用 KubeSphere 组件高可用部署 redisHA.enabled: 设置为 true,启用 Redis 高可用集群 multicluster.hostClusterName: 自定义主集群名称,默认为 host。版本兼容性提示: ks-core-1.1.4 之前版本使用 hostClusterName imageRegistry: 指定组件镜像仓库国内镜像源地址 部署过程预计需要 5-10 分钟完成,具体取决于: 网络带宽状况 服务器配置 Redis HA 集群初始化时间(占比较大) 当安装命令执行完成后,系统将输出 KubeSphere 控制台访问信息,包括: Web 控制台访问地址 默认管理员账号 默认管理员密码 看到以下信息表明 KubeSphere Core 已成功完成部署。 NOTES: Thank you for choosing KubeSphere Helm Chart. Please be patient and wait for several seconds for the KubeSphere deployment to complete. 1. Wait for Deployment Completion Confirm that all KubeSphere components are running by executing the following command: kubectl get pods -n kubesphere-system 2. Access the KubeSphere Console Once the deployment is complete, you can access the KubeSphere console using the following URL: http://192.168.9.161:30880 3. Login to KubeSphere Console Use the following credentials to log in: Account: admin Password: P@88w0rd NOTE: It is highly recommended to change the default password immediately after the first login. For additional information and details, please visit https://kubesphere.io. 4.2 命令行验证 KubeSphere Core 状态 查看 Pod 列表: kubectl get pods -n kubesphere-system -o wide 正确执行后,输出结果如下 : $ kubectl get pods -n kubesphere-system -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES extensions-museum-67bf6499df-f5xf4 1/1 Running 0 3m18s 10.233.68.15 ksp-worker-2 <none> <none> ks-apiserver-677647f489-rq6qb 1/1 Running 2 (3m13s ago) 3m18s 10.233.101.19 ksp-control-3 <none> <none> ks-apiserver-677647f489-w6bw2 1/1 Running 2 (3m13s ago) 3m18s 10.233.71.18 ksp-control-2 <none> <none> ks-apiserver-677647f489-wpjm4 1/1 Running 2 (3m12s ago) 3m18s 10.233.93.22 ksp-control-1 <none> <none> ks-console-5855b59f77-6fv9f 1/1 Running 0 2m42s 10.233.68.16 ksp-worker-2 <none> <none> ks-console-5855b59f77-8x76h 1/1 Running 0 2m38s 10.233.94.7 ksp-worker-1 <none> <none> ks-console-5855b59f77-9pzhg 1/1 Running 0 2m36s 10.233.71.20 ksp-control-2 <none> <none> ks-controller-manager-86b4b4cf8-qlk48 1/1 Running 0 3m18s 10.233.101.18 ksp-control-3 <none> <none> ks-controller-manager-86b4b4cf8-xhwsr 1/1 Running 0 3m18s 10.233.71.16 ksp-control-2 <none> <none> ks-controller-manager-86b4b4cf8-ztwv4 1/1 Running 0 3m18s 10.233.93.19 ksp-control-1 <none> <none> ks-core-redisha-haproxy-5d48d7cc88-5p7zw 1/1 Running 0 3m18s 10.233.71.17 ksp-control-2 <none> <none> ks-core-redisha-haproxy-5d48d7cc88-92td4 1/1 Running 0 3m18s 10.233.93.20 ksp-control-1 <none> <none> ks-core-redisha-haproxy-5d48d7cc88-drqrf 1/1 Running 0 3m18s 10.233.101.17 ksp-control-3 <none> <none> ks-core-redisha-server-0 3/3 Running 0 3m18s 10.233.93.23 ksp-control-1 <none> <none> ks-core-redisha-server-1 3/3 Running 0 2m9s 10.233.71.21 ksp-control-2 <none> <none> ks-core-redisha-server-2 3/3 Running 0 80s 10.233.101.21 ksp-control-3 <none> <none> 分析 Pod 列表中的核心组件分布情况。 KubeSphere 核心组件高可用部署: ks-apiserver、ks-console、ks-controller-manager 各部署了3个实例 这些实例分布在不同节点上,确保了控制组件的高可用性 Redis 集群高可用部署: redisha-haproxy 和 redisha-server 各部署了3个实例 实例分布在不同节点上,实现了 Redis 服务的高可用性 KubeSphere 控制台概览 5.1 工作台 我们打开浏览器访问 Control-1 节点的 IP 地址和端口 30880,可以打开熟悉的 KubeSphere 管理控制台的登录页面。 输入默认用户 admin 和默认密码 P@88w0rd,然后点击「登录」。 登录后,系统会要求您更改 KubeSphere 默认用户 admin 的默认密码,输入新的密码并点击「提交」。 提交完成后,系统会跳转到新的风格的 KubeSphere 用户工作台页面。 5.2 集群管理 在「工作台」页面,点击「集群管理」,进入集群管理页面,页面风格更方便多集群管理。 注意! 集群名称符合 我们自定义的 opsxlabs-main ,默认名称 host 。 点击「opsxlabs-main 」主集群,进入集群管理页面。新版本的集群管理菜单更加简洁,默认只有基本的 K8s 管理功能。 以上,就是我今天分享的全部内容。 本次实战,我们聚焦于 KubeSphere v4.1.3 高可用集群的部署。从环境准备到 KubeKey 的配置与执行,我们详细梳理了在生产环境中搭建稳定 Kubernetes 集群的关键步骤。通过 3 个 Control 节点和 3 个 Worker 节点的部署实践,我们验证了 KubeKey 在简化复杂集群部署方面的强大能力,并强调了配置细节对集群稳定性的重要影响。 我知道,对于很多朋友来说,搭建一套生产级的高可用集群,听起来可能有些望而却步。但通过这篇实战,你是否发现,只要掌握了正确的方法和工具,这一切并非遥不可及?我们不仅搭建了一个由 3 个 Control 节点和 3 个 Worker 节点组成的强大集群,更深入了解了 KubeKey 如何简化部署流程,以及如何通过精细配置确保集群的稳定与高效。 当然,这仅仅是个开始!KubeSphere 的魅力远不止于此。在接下来的系列文章中,我将继续带你深入探索 KubeSphere 的更多高级特性,比如如何无缝对接各种存储方案,如何玩转多集群管理,以及如何利用 KubeSphere 强大的可观测性功能,让你的云原生环境尽在掌握。 免责声明: 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境 。由此引发的任何问题,作者概不负责! 本文由博客一文多发平台 OpenWrite 发布!

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册