开源社区赋能,Walrus 用户体验再升级
基于平台工程理念的应用管理平台 Walrus 已于上月正式开源,目前在 GitHub 已收获 177 颗星
Walrus 希望打造简洁清爽的应用部署与管理体验,帮助研发与运维团队减少“内耗”工作,提升开发体验。
我们十分重视 Walrus 用户的体验与反馈,并希望与每位用户分享 Walrus 的产品动态。正式开源一周内,我们就迎来了社区首个外部 PR,此后陆陆续续收到了来自社区用户提交的 Bug 和 Issue。这里,我们将详细描述目前已修复的两个问题及其具体修复和优化过程。
用户信息资源权限的统计体验优化
问题描述
在0.3.0的版本中资源权限的表格中统计各个资源的动作权限的数量作为汇总,然而实际部分页面的设计并没有相关的动作,造成同一资源各个动作的汇总不一致,使得用户无法直观地理解表格的含义。

优化方式
这里我们去掉表格中“资源”一列,将相关的资源显示在对应的项目或者分组模块下。
去掉权限数量的汇总数字,将汇总的结果通过三种不同的颜色呈现,即红色代表所有资源没有权限, 黄色表示部分资源有权限,绿色则表示所有资源有权限。如下图所示:

相关 issue 详情查看此链接:https://github.com/seal-io/walrus/issues/1266
内置模板资源的更新支持
功能解析
Walrus 内置了一些常用操作的模板,其中包括deploy-source-code模板,用于从源码构建镜像并将其部署到 Kubernetes 集群中。使用该模板的步骤如下:
首先,创建一个类型为 Kubernetes 的连接器。有关详细信息,请参考 Walrus 文档中的连接器创建指南。
创建一个新的环境,并将步骤 1 中创建的连接器添加到该环境中。
创建一个服务,并选择
deploy-source-code模板的最新版本。在配置服务时,在
Build部分输入 GitHub 仓库信息、镜像信息、密钥等配置。在Deploy部分输入副本数、所需资源、端口等相关信息。完成配置后,保存即可进入打包部署流程。
这些步骤将帮助您使用 Walrus 快速进行源码构建并部署成可用的 Kubernetes 服务。


问题描述
在 Walrus 提供的内置模板 deploy-source-code 中定义了 image 资源,该资源代表容器镜像资源。然而,在模板版本 0.0.1 中,没有提供该资源的更新支持。因此,使用该模板的服务构建部署完成后,再次更新升级将出现错误,导致更新失败。
可以在 issue 中(链接: https://github.com/seal-io/walrus/issues/998 )找到详细的问题复现过程。
修复过程
Walrus 基于容器镜像构建工具 Kaniko 开发了 Terraform Provider terraform-provider-kaniko,image 资源来自于 Provider 中定义的,用于从源代码构建容器镜像,并推送到容器镜像仓库中。
在模板 deploy-source-code 0.0.1 版本中使用的 Provider 版本尚未支持 image 资源的更新操作。但在该 Provider 的最新版本中,我们添加了对此功能的支持,并引入了更多优化,以确保即使在 Provider 参数不变的情况,源代码仓库有了新内容,该 Provider 也能进行更新和升级。我们在的 deploy-source-code 模板的0.0.4版本中升级了 Provider,使用修复后的版本。
要解决这个问题,用户可以使用修复后的 deploy-source-code模板,即 0.0.4 版本。最新部署的 sealio/walrus:v0.3.0 镜像中已经包含了 deploy-source-code 的最新版本,可以直接使用。

已运行的 Walrus,Walrus 默认会每天同步最新的模板,用户可检查 Walrus 是否已同步了最新版本,如已同步可直接使用deploy-source-code的最新版本。
也可进行手动同步,进入运维中心,然后导航到模板 deploy-source-code,并点击刷新以获取最新版本。这样就可以使用修复后的新版本了。

以上就是目前已修复问题的详细内容与修复及优化过程,在这里特别感谢 @cdryzun 与 @orangedeng 向我们提出的问题。后续,我们将第一时间与大家分享 Walrus 的每一次产品更新与每一个重要动态。
Walrus 欢迎每一位开发者的参与与贡献,并积极向我们提出有质量的问题与建议,经研发团队采纳,我们将会送出 Seal 精美周边礼品一份~
项目地址:https://github.com/seal-io/walrus
开源社区赋能,Walrus 用户体验再升级的更多相关文章
- 用户体验再升级!Erda 1.2 版本正式发布
来源|尔达 Erda 公众号 Erda v1.2 Changelog: https://github.com/erda-project/erda/blob/master/CHANGELOG/CHANG ...
- INSPIRED启示录 读书笔记 - 第19章 用户体验设计与实现
先定义用户体验再动手开发 在软件开发过程中,有很多工作可以同时进行.比如,需求调研和产品设计(用户体验设计).开发与测试 尽管如此,用户体验设计和软件开发就不能同时进行,原因有五点 1.与软件开发团队 ...
- [ionic开源项目教程] - 第10讲 新闻详情页的用户体验优化
目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配置app.js和controllers.js [ionic开源项 ...
- 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态
摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...
- 通过 .NET NativeAOT 实现用户体验升级
前言 TypedocConverter 是我先前因帮助维护 monaco-editor-uwp 但苦于 monaco editor 的 API 实在太多,手写 C# 的类型绑定十分不划算而发起的一个项 ...
- Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%。再往后,每提高0.1%,优化难度成指数级增长了。哪怕是千分之一,也直接影响用户体验,影响每天上万张机票的销售额。 在高并发场景下,提供了保证线程安全的对象、方法。比如经典的ConcurrentHashMap,它比起HashMap,有更小粒度的锁,并发读写性能更好。线程安全的StringBuilder取代S
Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%.再往后,每提高0.1%,优化难度成指数级增长了.哪怕是千分之一,也直接影响用户体验,影响每天上万张机 ...
- 个人官网第8次升级(新功能、用户体验、修复bug、系统优化)
1.新功能. 操作日志和搜索日志的Excel报表下载. 2.用户体验. 如果是通过搜索,进入到一篇内容, 搜索关键词需要高亮. 比如,搜索"程序员"出现若干内容链接,打开链接的页面 ...
- 新渲染引擎、自定义设计和高质量用户体验的样例应用 Wonderous 现已开源
探索世界奇观,并体验 Flutter 的强大之处. Flutter 的愿景是让你能够在空白画布上绘制出不受限制的精美应用.最近,通过与 gskinner 团队的通力合作,我们打造了一个全新的移动应用 ...
- 从UE(用户体验)到道家誓学再到李小龙
公司大Boss经常会给我做技术培训,感觉他什么都知道,也挺喜欢听他的课. 本文记录可能比较天马行空,我的语文比较差,很难把自己想表达的说出来,为此我就是记录一样关键字,可能这样还会更好些 背景是讲用户 ...
- HTML5如何重塑O2O用户体验
低频次垂直O2O服务应该继续开发原生APP吗?大家有没有发现做一个APP的推广成本和获取用户的成本越来越高?第二,用户安装APP之后,用户并不是经常点击使用APP的,那这是为什么?数据表明90%的O2 ...
随机推荐
- python学习之-------OS 文件夹和文件操作
# OS模块 :查看一个文件夹下所有文件,这个文件夹有文件夹,不能用walk# -- coding: UTF-8 --import osimport sys#C:\Users\Administrato ...
- 如何使用 Megatron-LM 训练语言模型
在 PyTorch 中训练大语言模型不仅仅是写一个训练循环这么简单.我们通常需要将模型分布在多个设备上,并使用许多优化技术以实现稳定高效的训练.Hugging Face Accelerate 的创建 ...
- Groovy 基于Groovy实现MD5加密
groovy 3.0.7 代码实现 实现方式1 import java.security.MessageDigest; public class MD5Utils { public final sta ...
- 【一步步开发AI运动小程序】十一、人体关键点跳跃追踪
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...
- JavaWeb编程面试题——Spring Framework
引言 面试题==知识点,这里所记录的面试题并不针对于面试者,而是将这些面试题作为技能知识点来看待.不以刷题进大厂为目的,而是以学习为目的.这里的知识点会持续更新,目录也会随时进行调整. 关注公众号:编 ...
- WPF 入门笔记 - 03 - 样式基础及模板
程序的本质 - 数据结构 + 算法 本篇为学习李应保老师所著的<WPF专业编程指南>并搭配WPF开发圣经<WPF编程宝典第4版>以及痕迹大佬<WPF入门基础教程系列> ...
- java.lang.IndexOutOfBoundsException
原因:一个ArrayList数组中没有元素,而你想获取第一个元素,运行是就会报此类型的错误 解决方案:用 array[] 的 .length 查看 数组的长度
- Python爬虫突破验证码技巧 - 2Captcha
在互联网世界中,验证码作为一种防止机器人访问的工具,是爬虫最常遇到的阻碍.验证码的类型众多,从简单的数字.字母验证码,到复杂的图像识别验证码,再到更为高级的交互式验证码,每一种都有其独特的识别方法和应 ...
- 从0开发WebGPU渲染引擎:实现路径追踪
大家好,本文基于WebGPU的计算着色器实现了基础的路径追踪器,支持Middle BVH和No BVH两种加速结构 我主要是将离线渲染零基础实战开发培训班(一期)->第二十九节课的代码移植到We ...
- Linux reset子系统
文章代码分析基于linux-5.19.13,架构基于aarch64(ARM64). 1. 前言 复杂IC内部有很多具有独立功能的硬件模块,例如CPU cores.GPU cores.USB控制器.MM ...