Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验

news2024/11/17 13:30:01

开源应用管理平台 Walrus 0.5 已于近日正式发布!

 

Walrus 0.4 引入了全新应用模型,极大程度减少了重复的配置工作,并为研发团队屏蔽了云原生及基础设施的复杂度。Walrus 0.5 在这一基础上,通过重构交互流程、增强抽象能力,打造开箱即用的产品体验,进一步以平台工程的方式优化应用部署和交付

 

image.png

 

“多云和混合云已成为企业主流的 IT 基础设施架构,异构基础设施管理的复杂度随着企业业务规模扩大不断攀升。当前环境下,降低管理成本、提升交付效率已成为企业的首要任务之一。”Seal 联合创始人及 CEO 秦小康介绍道,“Walrus 致力于采用平台工程的方法帮助企业简化应用系统管理,减轻研发和运维的认知负担,以应对当下复杂的 IT 挑战。”

 

Walrus GitHub 主页:
https://github.com/seal-io/walrus
Walrus 在线文档:
https://seal-io.github.io/docs/zh/

 

重构交互流程、增强抽象能力、简化资源管理

Walrus 0.5 升级了用户界面,针对资源及资源定义的管理交互进行优化,提供直观、简洁的管理体验。

 

之前版本中的服务及资源已统一到单一资源视图中,并且在该视图中统一提供针对资源详情各类操作的支持,例如,查看资源列表、管理资源及其底层组件,查看日志、进行终端调试故障、获取服务的URL等。

 

image.png

 

通过在单一窗口内集成各项管理功能,用户无需在不同的界面之间切换,从而提高了整体使用体验,能够帮助用户更加轻松地应对复杂的资源管理任务。

 

资源定义(Resource Definition)是 Walrus 构建多云、混合基础设施上层统一抽象的核心。Walrus 0.5 对资源定义做了进一步增强:

 

  • 丰富内置的资源定义,同时优化资源定义匹配规则的创建;
  • 提供资源定义关联资源的管理视图,方便运维或架构团队实现资源的统一管理;
  • 支持声明多个同类型的资源定义,通过灵活的规则匹配,方便不同团队按需管理。

 

为受限网络环境提供丝滑的安装部署体验

为了优化受限网络环境下的部署体验,Walrus 0.5 引入了对 Gitee 的内置支持, 用户现在可以从 Gitee 拉取内置模板的镜像源,并将 Gitee 作为模板库的来源,从而避免用户在受限网络环境下访问 GitHub 的困扰。

 

在部署 Walrus 时,用户可以使用 SERVER_BUILTIN_CATALOG_PROVIDER=gitee
环境变量指定即可将模板的下载源从默认的 Github 更改为 Gitee

 

此外,为了加速部署,减少 Provider 下载失败导致部署出错的情况,我们开源了加速服务项目 Hermit Crab(https://github.com/seal-io/hermitcrab),它为 Terraform 和 OpenTofu 提供 Provider 缓存支持,让部署过程更丝滑。

 

目前,安装 Walrus 时会在当前的 Kubernetes 中自动部署 Hermit Crab 。如果用户选择启用加速服务,在首次联网成功下载 Provider 后, Hermit Crab 会将其缓存到加速服务中,在后续触发新的部署时直接从缓存中读取,无需重复下载。

 

从 Docker 到 Kubernetes 的多态支持

Walrus 0.4 推出了“单一配置,多态运行”这一核心特性,在 Walrus 0.5 中,我们将这一特性扩展到从 Docker 到 Kubernetes 的内置多态支持。

 

这一特性使用户既能在本地 Docker 环境完成应用的开发和运行调试,同时还能使用同一套应用定义 YAML 将应用部署到预发布或生产的 Kubernetes 环境,而无需了解两者间的配置差异。

 

具体而言,开发人员可以在 PC 端通过 Walrus 内置的资源类型(如 containerservice mysql postgresql redis )将应用部署运行在本地的 Docker 中。同时,在不做任何改动的情况下,将这一份应用定义部署到另一个底层为 Kubernetes 的环境中。此外,用户可以使用资源定义按需扩展相应的资源类型。

 

对于只使用 Docker 的用户,Walrus 0.5 同样提供了支持。

 

在 Walrus 安装阶段,Walrus 0.5 支持仅使用 Docker 部署容器应用。开发人员通过 Walrus 的 CLI 命令 walrus local install 在本地 Docker 环境中采用 Docker extension 的方式安装 Walrus,换言之,Walrus 不需要依赖外置的 K8s 或内置的 K3s 即可运行。

 

在应用部署阶段,新版本新增的 Docker 连接器和 Docker 应用模板支持开发人员将应用部署到 Docker 环境。

 

进一步扩展部署灵活性

新增 OpenTofu 作为 Deployer 选项

由于 Terraform 修改了开源许可证,OpenTofu 作为其开源替代方案而推出,并于本月月初宣布 GA。在之前版本中,用户可以自行将 Terraform 切换到 OpenTofu。在 Walrus 0.5 中,我们对 OpenTofu 1.6.0 提供了正式支持

 

通过系统设置 >部署管理 > 基础设置 > 部署器镜像这一路径,用户即可将默认的 Deployer 从Terraform切换到OpenTofu(镜像为sealio/opentofu-deployer:v1.6.0-seal.1)。这一改进旨在为用户提供更灵活的选项,避免供应商锁定。

 

Walrus File:以代码定义的方式部署资源

为了让 Walrus 更易上手,新版本新增 Walrus file 特性,这是依照 YAML 格式编写的文件,用于部署 Walrus 资源。

 

Walrus file 通过类似于 Docker Compose file 的简明定义来描述应用服务和基础设施资源的配置,它的独特之处在于,该应用定义可以用于创建各种多云和混合基础设施的应用服务和资源,并不局限于 Docker 或 Kubernetes

 

通过 Walrus CLI 的 walrus apply/delete -f ,可以指定应用或删除 Walrus file 所描述的 Walrus 资源。此外,用户可以通过 Walrus CLI 将 Walrus file 的发布与现有的 CI/CD 工具和流程进行集成,进一步增强了 Walrus 的灵活性,并且可以因地制宜地满足各类部署需求。

 

为了缩短学习路径,我们提供 Walrus File Hub 作为参考(https://github.com/seal-io/walrus-file-hub)。在用户 Import YAML 时,可以从 Walrus File Hub 中查看相关示例。

 

完全开源,轻松上手

Seal 团队秉持着一以贯之的开源理念和开箱即用的产品设计思路,Walrus 基于 Apache 2.0 许可完全开源,并且仅需一行命令您就可以在已安装 Docker 的电脑上部署 Walrus:

 

sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443 -p 30000-30100:30000-30100 --name walrus sealio/walrus:v0.5.0

 

如果您喜欢这个项目,欢迎在 Github 上为我们点亮 🌟

 

Walrus GitHub 主页:
https://github.com/seal-io/walrus
Walrus 在线文档:
https://seal-io.github.io/docs/zh/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

COW AI接入到微信 保姆教程 (部署在服务器,插件安装)

此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了 最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通…

编译Opencv3.3 版本遇到的Cuda版本变更导致:CUDA_nppicom_LIBRARY (ADVANCED)链接找不到的问题根本解法:

前言: Opencv 开源库的使用是必须的,但是,开源项目的特性,造成,版本的依赖性比较复杂, 尤其是针对某一款老硬件的SDK,往往随着某个开源库的使用,导致,无法编译的问题&am…

Windows XP x86 sp3 安装 Python3.4.4

1 下载 Python3.4.4,下载地址,点击红色部分。 Python Release Python 3.4.4 | Python.org 2 一路 Next,将 C:\Python34 和 C:\Python34\Scripts 加入环境变量。 3 python 查看版本,python -m pip list 查看安装的包。 4 其他(打…

关东升老师Python著作推荐(由电子工业出版社出版)

前言:关东升老师简单介绍 一个在IT领域摸爬滚打20多年的老程序员、软件架构师、高级培训讲师、IT作家。熟悉Java、Kotlin、Python、iOS、Android、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。参与设计和开发北京市公交一卡通百亿级大型项目&#xff0c…

OpenAI、斯坦福大学提出Meta-Prompting,有效提升语言模型的性能

为了研究如何提高语言模型的性能,使其更充分有效地输出对于提问的回答,来自斯坦福和 OpenAI 的学者强强联手,通过提出一种名为元提示(meta-prompting)的方法来深入探索。元提示通过让单个语言模型(如 GPT-4…

微信小程序(二十二)获取全局实例

注释很详细,直接上代码 上一篇 新增内容: 1.全局实例的定义位置 2.全局实例中数据的修改方法 源码: app.js App({//数据可以包括在第二级globalData:{userInfo:null,token:1243,userInfo:null},//globalData并不是关键词,数据可以…

TCP_拥塞控制

引言 24年春节马上就要到了,作为开车党,最大的期盼就是顺利回家过年不要堵车。梦想是美好的,但现实是骨感的,拥堵的道路让人苦不堪言。 在网络世界中,类似于堵车的问题也存在,而TCP(Transmissi…

智慧矿山数字孪生三维可视化平台,赋能矿业新型工业化数字化转型

智慧矿山数字孪生三维可视化平台,赋能矿业新型工业化数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。矿业作为传统产业,也需要紧跟时代步伐,通过数字化转型实现更加高效、安全和环保的生产方式。智慧…

STM32_JTAG引脚及复用代码

目录 1.JTAG引脚1.1 说明(可以不看)1.2 引脚 2.复用代码3. 手册介绍(可以不看) 总是忘记有些引脚是JTAG复用的,导致偶尔浪费一些时间,记录一下。 1.JTAG引脚 1.1 说明(可以不看) …

修改el-date-picker datetimerange内部样式 或 popper-class不生效

看官网介绍 需要添加一个 popper-class类名去控制 有可能发现 popper-class不生效。 这时我们需要看 样式 是否加了 scoped。这个的作用就是样式隔离了。 所以我们需要在重新写个style在这当前页面下即可,或者在最外层重新写个样式。我这里直接放在了当前页面下。…

muduo网络库剖析——接受新连接Acceptor类

muduo网络库剖析——接受新连接Acceptor类 前情从muduo到my_muduo 概要框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库,考虑的肯定是众多情况是否可以高效满足;而作为学习者,我们需要抽取…

Hbuilder真机调试

1.找到adbs文件,执行adb.exe文件 2.手机找到开发人员选项(设置-系统和更新-开发人员选项) 打开之后在调试里面打开USB调试,数据线连接电脑 手机会弹窗提示,点击确定 然后就准备运行啦 3.Hbuilder运行 点击运行就可以…

Kotlin快速入门5

Kotlin的继承与重写 kotlin的继承 Kotlin中所有类都继承自Any类,Any类是所有类的超类,对于没有超类型声明的类是默认超类(Any 不是 java.lang.Object): class LearnKotlin // 默认继承自Any Any类默认提供三个函数…

LeetCode力扣题解(随机每日一题)——使数组为空的最少操作次数

目录 题目链接 题目描述 输入输出示例 代码 复杂度分析 题目链接 2870. 使数组为空的最少操作次数 - 力扣(LeetCode) 题目描述 给你一个下标从 0 开始的正整数数组 nums 。 你可以对数组执行以下两种操作 任意次 : 从数组中选择 两个…

Ubuntu的应用

记得看目录哦! 1. root用户1.1 root介绍1.2 hello Python 2. APT2.1 APT原理机制2.2 Ubuntu软件操作的相关命令2.3 更新Ubuntu软件下载地址2.4 安装一下vim2.5 使用vim 3. 远程登录Ubuntu3.1 ssh介绍3.2 原理图3.3 安装ssh3.4 安装net-tools3.5 查看端口号&#xff…

【Web前端实操17】导航栏效果——滑动门

滑动门 定义: 类似于这种: 滑到导航栏的某一项就会出现相应的画面,里面有对应的画面出现。 箭头图标操作和引用: 像一些图标,如果需要的话,可以找字体图标,比如阿里巴巴矢量图标库:iconfont-阿里巴巴矢量图标库 选择一个——>添加至购物车——>下载代码 因…

Abp 从空白WebApplication开始

开发环境:VS2022、.NET6 1、创建项目:BasicAspNetCoreApplication 2、NuGet添加:Volo.Abp.AspNetCore.Mvc和Volo.Abp.Autofac,如下图所示: 3、开始写代码,目录如下图所示: 3.1、添加启动模块Ap…

2023年:个人年度成长与团队协作成就

文章目录 个人职业发展的喜悦团队成就的辉煌公众号CSDN申请了移动安全领域新星创作者获得6月城市之星北京TOP 10获得23年博客之星TOP 41年度总结 知识星球 开拓新领域的决心免费知识大陆付费知识大陆 展望未来福利时间知识星球会员一年知识星球立减88券 在这个充满挑战与机遇的…

【Spark系列1】DAG中Stage和Task的划分全流程

本文字数在7800字左右,预计时间在15分钟 一、整体流程 每个Aciton操作会创建一个JOB,JOB会提交给DAGScheduler,DAGScheduler根据RDD依赖的关系划分为多个Stage,每个Stage又会创建多个TaskSet,每个TaskSet包含多个Tas…