我们非常重视您的个人隐私,当您访问我们的网站时,请同意使用的所有cookie。有关个人数据处理的更多信息可访问《隐私条款》

研发运维双管齐下!Walrus 的正确打开方式

2023-04-14


新一代应用统一部署管理平台 Walrus 已于近日正式发布,它采用平台工程的理念,通过降低基础设施操作的复杂度为研发和运维团队提供易用、一致的应用管理和部署体验。Walrus 帮助研发和运维团队实现关注点分离,即运维工程师负责基础建设,研发可以在零基础设施知识的情况下实现应用部署管理。


本文以运维和研发两个视角,介绍如何通过 Walrus 从源码构建一个 Java Web 服务并部署到 Kubernetes 中。



运维视角

李维是 Alpha 公司的 DevOps,他需要搭建一个自服务平台提供给不了解容器和 Kubernetes 的研发团队使用。


他做了以下准备工作: 


  • 资源不少于4CPU,8Gi内存的 Linux 服务器。 

  • 至少 50GB 的空余磁盘空间。 

  • 安装 Docker,详细指引参Docker官方文档。 

  • 服务器开放80和443端口。 

  • 前往官网申请产品试用镜像。

  • 安装一个 Kubernetes 集群,获取到 Kubeconfig 文件。


部署


执行以下命令启动 Seal 服务:

    sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443 <seal-container-image>


    访问


    通过 https://<server-address> 访问Seal的UI。 


    第一次登陆时根据UI提示,在服务器上运行以下指令获取初始的管理员密码。

      sudo docker logs <your-container-id> 2>&1 | grep "Bootstrap Admin Password"


      以 admin 用户名以及初始管理员密码登陆 Seal,并根据UI提示设置新的密码以及 Seal 的访问地址。


      配置镜像仓库认证密钥


      配置提供给研发使用的镜像仓库测试账号:


      1. 访问【运维中心】-【全局密钥】菜单,点击【新建密钥】按钮。

      2. 在【名称】中填入 REGISTRY_USERNAME,在【内容】中填入镜像仓库认证的用户名,点击【保存】按钮。

      3. 再次点击【新建密钥】按钮。

      4. 在【名称】中填入 REGISTRY_PASSWORD,在【内容】中填入镜像仓库认证的密码,点击【保存】按钮。


      配置 Kubernetes 与环境


      添加 Kubernetes 集群作为应用的部署目标:


      1. 访问【运维中心】-【连接器】菜单,点击【新建连接器】按钮。

      2. 在名称中填入test-k8s,在 Kubeconfig 中填入准备的集群 Kubeconfig 文件,点击保存按钮。

      3. 访问【运维中心】-【环境】菜单,点击【新建环境】按钮。

      4. 在【名称】中填入 development

      5. 点击【添加连接器】按钮,选择 test-k8s 连接器,点击【保存】按钮。



      注:

      • 连接器是对接任意基础设施和服务的抽象对象,例如 Kubernetes,公有/私有云,虚拟机,版本控制系统等等。

      • 环境是应用部署目标,环境中可以关联若干连接器。


      李维已经完成了基建工作!后续他可以在 Seal 平台接入更多不同的基础设施,添加更多沉淀了组织内 DevOps 最佳实践的应用模块,提供给研发团队使用。对于本文的工作,使用 Seal 内置的模块即可完成。




      研发视角

      张研是 Alpha 公司的研发,他不熟悉 Kubernetes,他想在不需要提工单给运维的情况下快速搭建开发测试环境(所谓自服务)。


      项目代码仓库放置在:https://github.com/seal-demo/spring-boot-docker-sample


      创建应用


      张研登入Seal平台执行以下操作:


      1. 访问【应用管理】-【应用】菜单,点击【新建应用】按钮。

      2. 在【名称】中填入 myapp,点击模块配置中的【+】按钮。

      3. 在模块名称中填入s2i,模块列表中选择build-container-image,在Git URL中填入https://github.com/seal-demo/spring-boot-docker-sample

      4. 点击【Build】标签页,在image中填入镜像名称registry.alpha.org/myproject/myimage:latest(注:这是张研所在Alpha公司的仓库地址,您需要换成您所用的镜像仓库地址)。

      5. 勾选【Registry Authentication】,在【Username】和【Password】中分别填入${secret.REGISTRY_USERNAME}${secret.REGISTRY_PASSWORD}。Seal的UI会引导填写对已配置密钥的引用。点击【确定】保存构建镜像模块的配置。

      6. 点击【模块配置】中的【+】按钮。

      7. 在模块名称中填入web,确认模块列表中选择webservice,在【Image Name】中填入${module.s2i.image},Seal的UI会引导填写对其它模块输出的引用。

      8. 修改 Ports 为 8888 端口(这是张研所用代码监听的端口)。点击【确定】保存web服务模块的配置。

      9. 点击【保存】按钮保存应用配置。


      部署应用


      现在张研可以在Seal上一键部署测试环境了:


      1. 进入 myapp 应用详情页。

      2. 点击应用信息右侧的【+】号添加实例按钮。

      3. 在名称中填入 dev1,选择运维团队(李维)提供的development环境。点击【确定】按钮创建应用实例。

      4. 等待部署完成,并在UI上出现该应用实例的访问地址。


      TADA!张研现在可以访问他的服务测试环境了!后续他可以将该应用共享给其它的开发测试成员,创建多个应用实例。



      总  结

      本文通过两种角色视角的职责划分,展示了 Seal 如何实现研发和运维关注点分离;通过从源码到 Kubernetes deployment 的部署,展示了Seal 的应用模型抽象。当然不止于此,一个应用模块可以是构建逻辑、云原生工作负载,也可以是传统部署负载或是其它的资源抽象。


      更多有趣的功能特性,欢迎点击下方链接申请产品试用:

      https://seal.io/trial


      另外,为了让您充分了解 Walrus  如何简化运维团队的工作并减轻研发团队的认知负担,我们准备了一期网研会下周二(4月18日)20:00,Seal 首席架构师将在直播间详细演示产品特性。


      点击此处即可免费报名,当晚直播间准备了5轮抽奖,将送出小米保温杯双肩包。另外,也十分欢迎您邀请您的小伙伴一起观看直播,在邀请好友数量排行榜中排名前三的小伙伴将获得 Seal 定制磁吸充电宝1份



      直播间礼物等你来领!

      About  Seal


      数澈软件 Seal 成立于2022年,旨在构建新一代开发者友好的平台工程解决方案,目前已完成5300万元种子轮融资。创始团队成员均来自业界应用广泛的 Kubernetes 管理平台 Rancher 的核心团队。其中,联合创始人及 CTO 梁胜博士是前 SUSE 全球工程及创新总裁,加入 SUSE 之前,梁胜博士于2014年9月创立全球著名的容器管理平台公司 Rancher Labs 并担任 CEO。


      旗舰产品 Walrus 是基于平台工程理念构建的全新一代应用管理平台,为研发人员打造简单美好的开发体验。其一键部署和克隆复杂应用系统、集成 AI 大语言模型简化模板代码生成以及灵活强大的应用和环境动态管理能力等特性备受用户青睐。借助 Walrus 用户可以将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设施的复杂度,为研发和运维团队提供易用、一致的应用管理体验,进而构建无缝协作的软件交付流程,加速企业业务创新。


      开源地址:github.com/seal-io/walrus


      bg1.jpg

      体验新一代应用统一部署与管理平台

      扫码加小助手入群
      youce.jpg

      咨询解决方案丨加入技术群

      联系我们

      • *姓名:
      • *电话:
      • *公司名称:
      • *公司邮箱:
      • *城市:
      • *验证码:

      我已仔细阅读并同意《隐私条款》