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

2024-01-29 17:28

本文主要是介绍Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开源应用管理平台 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/

这篇关于Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657633

相关文章

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

用Java打造简易计算器的实现步骤

《用Java打造简易计算器的实现步骤》:本文主要介绍如何设计和实现一个简单的Java命令行计算器程序,该程序能够执行基本的数学运算(加、减、乘、除),文中通过代码介绍的非常详细,需要的朋友可以参考... 目录目标:一、项目概述与功能规划二、代码实现步骤三、测试与优化四、总结与收获总结目标:简单计算器,设计

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar