基于平台工程理念的应用管理平台 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 集群中。使用该模板的步骤如下:

  1. 首先,创建一个类型为 Kubernetes 的连接器。有关详细信息,请参考 Walrus 文档中的连接器创建指南。

  2. 创建一个新的环境,并将步骤 1 中创建的连接器添加到该环境中。

  3. 创建一个服务,并选择deploy-source-code 模板的最新版本。

  4. 在配置服务时,在 Build 部分输入 GitHub 仓库信息、镜像信息、密钥等配置。在 Deploy 部分输入副本数、所需资源、端口等相关信息。

  5. 完成配置后,保存即可进入打包部署流程。

这些步骤将帮助您使用 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-kanikoimage 资源来自于 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 用户体验再升级的更多相关文章

  1. 用户体验再升级!Erda 1.2 版本正式发布

    来源|尔达 Erda 公众号 Erda v1.2 Changelog: https://github.com/erda-project/erda/blob/master/CHANGELOG/CHANG ...

  2. INSPIRED启示录 读书笔记 - 第19章 用户体验设计与实现

    先定义用户体验再动手开发 在软件开发过程中,有很多工作可以同时进行.比如,需求调研和产品设计(用户体验设计).开发与测试 尽管如此,用户体验设计和软件开发就不能同时进行,原因有五点 1.与软件开发团队 ...

  3. [ionic开源项目教程] - 第10讲 新闻详情页的用户体验优化

    目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配置app.js和controllers.js [ionic开源项 ...

  4. 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态

    摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...

  5. 通过 .NET NativeAOT 实现用户体验升级

    前言 TypedocConverter 是我先前因帮助维护 monaco-editor-uwp 但苦于 monaco editor 的 API 实在太多,手写 C# 的类型绑定十分不划算而发起的一个项 ...

  6. Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%。再往后,每提高0.1%,优化难度成指数级增长了。哪怕是千分之一,也直接影响用户体验,影响每天上万张机票的销售额。 在高并发场景下,提供了保证线程安全的对象、方法。比如经典的ConcurrentHashMap,它比起HashMap,有更小粒度的锁,并发读写性能更好。线程安全的StringBuilder取代S

    Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%.再往后,每提高0.1%,优化难度成指数级增长了.哪怕是千分之一,也直接影响用户体验,影响每天上万张机 ...

  7. 个人官网第8次升级(新功能、用户体验、修复bug、系统优化)

    1.新功能. 操作日志和搜索日志的Excel报表下载. 2.用户体验. 如果是通过搜索,进入到一篇内容, 搜索关键词需要高亮. 比如,搜索"程序员"出现若干内容链接,打开链接的页面 ...

  8. 新渲染引擎、自定义设计和高质量用户体验的样例应用 Wonderous 现已开源

    探索世界奇观,并体验 Flutter 的强大之处. Flutter 的愿景是让你能够在空白画布上绘制出不受限制的精美应用.最近,通过与 gskinner 团队的通力合作,我们打造了一个全新的移动应用 ...

  9. 从UE(用户体验)到道家誓学再到李小龙

    公司大Boss经常会给我做技术培训,感觉他什么都知道,也挺喜欢听他的课. 本文记录可能比较天马行空,我的语文比较差,很难把自己想表达的说出来,为此我就是记录一样关键字,可能这样还会更好些 背景是讲用户 ...

  10. HTML5如何重塑O2O用户体验

    低频次垂直O2O服务应该继续开发原生APP吗?大家有没有发现做一个APP的推广成本和获取用户的成本越来越高?第二,用户安装APP之后,用户并不是经常点击使用APP的,那这是为什么?数据表明90%的O2 ...

随机推荐

  1. 源代码管理工具——Git

    Git是一个开源的分布式版本控制系统,用于管理软件开发中的版本控制和协作.通过Git,开发人员可以记录文件的修改历史.协作开发,以及在多个分支上进行实验性开发.Git已成为现代软件开发中不可或缺的工具 ...

  2. doo 13 之11 :开发之看板视图和用户端 QWeb

    QWeb 是 Odoo 使用的模板引擎,它基于 XML 来生成 HTML 片断和页面.通过 QWeb可生成内容丰富的看板(Kankan)视图.报表和 CMS 网页.本文中我们将学习QWeb 语法以及如 ...

  3. Java中如何中断线程

    在Java中,可以使用以下方法中断线程: 1. 使用`interrupt()`方法:每个线程对象都有一个`interrupt()`方法,用于中断该线程.当调用线程的`interrupt()`方法时,它 ...

  4. 如何更快的烹饪出美味的MOJO系列教程🔥之初识MOJO

    MOJO基础入门<概述> 一,什么叫TMD的MOJO Mojo是一种编程语言,它与Python一样易于使用,但具有C++和Rust的性能.此外,Mojo提供了利用整个Python库生态系统 ...

  5. 马拉车(manacher) & 回文自动机(PAM)

    补充,PAM 的 a[0]=-1,这一点我每次写都要忘记. 读了徐安矣2023年集训队论文写的,对于差分性质和习题,我会在理解清楚之后再补充.本篇博客仅讨论前两种算法. 首先,马拉车和回文自动机都是处 ...

  6. 有关 python 切片的趣事

    哈喽大家好,我是咸鱼 今天来讲一个我在实现 python 列表切片时遇到的趣事 在正式开始之前,我们先来了解一下切片(slice) 切片操作是访问序列(列表.字符串......)中元素的另一种方法,它 ...

  7. 【技术积累】Java中的泛型【一】

    泛型是什么 Java中的泛型是一种能够让用户在编写代码时避免使用明确的类型而进行类型参数化的机制.Java中的泛型可以让编程者在代码编写时不必关心具体类型,只用关心类型之间的关系和相互转换,从而在编写 ...

  8. 用CSS实现带动画效果的单选框

    预览一下效果:http://39.105.101.122/myhtml/CSS/singlebox2/singleRadio.html 布局结构为: 1 <div class="rad ...

  9. 【whale-starry-stl】01天 list学习笔记

    一.知识点 1. std::bidirectional_iterator_tag std::bidirectional_iterator_tag 是 C++ 标准库中定义的一个迭代器类型标签,用于标识 ...

  10. 6. Mybatis的各种查询功能

    6.1.查询一个实体类对象 ‍ /** * 根据用户id查询用户信息 * @param id * @return */ User getUserById(@Param("id") ...