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

研发,双管齐下,seal,appmanager,正确,打开方式 · 浏览次数 : 59

小编点评

## Seal 应用模型的研发和运维关注点分离 **从运维和研发两个视角,介绍如何通过Seal AppManager 从源码构建一个 Java Web 服务并部署到 Kubernetes 中** **运维视角:李维** * 准备工作: * 服务器配置:4CPU,8Gi内存的 Linux 服务器,至少 50GB 的空余磁盘空间,安装 Docker。 * Kubernetes 集群配置:获取到 Kubeconfig 文件。 * 部署执行命令启动 Seal 服务: * `sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443` 启动 Seal 服务。 * 配置镜像仓库认证密钥配置: * 在运维中心-全局密钥中新建密钥,提供镜像仓库认证用户名和密码。 * 配置 Kubernetes 与环境添加 Kubernetes 集群作为应用的部署目标。 * 创建环境是应用部署目标,可以关联多个连接器。 **研发视角:张研** * 创建应用: * 在应用管理-应用中点击【新建应用】按钮。 * 选择模块配置中的【+】按钮,添加实例。 * 部署应用: * 在应用详情页点击应用信息右侧的【+】号添加实例按钮。 * 选择运维团队(李维)提供的 development 环境。 * 等待部署完成,并在UI上出现该应用实例的访问地址。 **总结** 通过两种角色视角的职责划分,本文展示了 Seal 如何实现研发和运维关注点分离。通过从源码到 Kubernetes deployment 的部署,展示了Seal 的应用模型抽象。

正文

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

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

运维视角

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

  • 资源不少于4CPU,8Gi内存的 Linux 服务器。
  • 至少 50GB 的空余磁盘空间。
  • 安装 Docker,详细指引参Docker官方文档(https://docs.docker.com/)。
  • 服务器开放80和443端口。
  • 前往官网(https://seal.io/trial)申请产品试用镜像。
  • 安装一个 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 的应用模型抽象。当然不止于此,一个应用模块可以是构建逻辑、云原生工作负载,也可以是传统部署负载或是其它的资源抽象。
 
欢迎来探索更多功能!

与研发运维双管齐下!Seal AppManager的正确打开方式相似的内容:

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

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

[转帖]高性能 -Nginx 多进程高并发、低时延、高可靠机制在百万级缓存 (redis、memcache) 代理中间件中的应用

https://xie.infoq.cn/article/2ee961483c66a146709e7e861 关于作者 前滴滴出行技术专家,现任 OPPO 文档数据库 mongodb 负责人,负责 oppo 千万级峰值 TPS/十万亿级数据量文档数据库 mongodb 内核研发及运维工作,一直专注于

Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

4月12日,数澈软件Seal(以下简称“Seal”)宣布推出新一代应用统一部署管理平台 Seal AppManager,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队提供易用、一致的应用管理和部署体验,进而提升研发人员和运维人员的生产力。 平台工程(Platform Engineeri

GaussDB技术解读系列丨运维自动驾驶探索

在第14届中国数据库技术大会(DTCC2023)上,华为云数据库运维研发总监李东详细解读了GaussDB运维系统自动驾驶探索和实践。

一图看懂CodeArts Inspector 三大特性,带你玩转漏洞管理服务

华为云漏洞管理服务CodeArts Inspector是面向软件研发和服务运维提供的一站式漏洞管理能力,通过持续评估系统和应用等资产,内置风险量化管理和在线风险分析处置能力,帮助组织快速感应和响应漏洞,并及时有效地完成漏洞修复工作,更好地应对潜在的安全威胁。

研发效能|DevOps 是运维还是开发?

DevOps 到底是 Dev还是Ops?答:属于研发工程师序列,偏向研发域,而不是运维域。 DevOps是研发工程师 DevOps 主要服务的对象就是所有产研团队的人员,与产研团队打交道比较多,相互配合更多,所以 DevOps 划分到 Dev 一侧比较好。 Ops 更专注底层基础设施,IaaS,Pa

DevOps|研发效能不是老板工程,是开发者服务

有人说研发效能是老板工程。不是的,研发效能不是老板工程,它不直接服务于老板(虽然老板可能看一些报表),反而是服务于广大产研运(产品+研发+质量+运维)的同学,所以有的公司也把研发效能叫做基础中台,平台工程,开发者服务团队,或者叫开发者服务平台。做好研发效能,做好开发者中台,就容易把公司的各种中后台能

【敏捷研发系列】前端DevOps流水线实践

作者:胡骏 一、背景现状 软件开发从传统的瀑布流方式到敏捷开发,将软件交付过程中开发和测试形成快速的迭代交付,但在软件交付客户之前或者使用过程中,还包括集成、部署、运维等环节需要进一步优化交付效率。因此Devops的产生将敏捷的相关理念扩展到运维侧,从而将产品、设计、开发、测试、运维团队更紧密的结合

职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 我是制造企业的IT中心的研发人员,平常工作就是配合业务部门出出报表,选型一些商业软件,并在内部负责实施运维。最近领导出去参观了一些数字化转型比较领先的工厂和制造企业,回

职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 我是制造企业的IT中心的研发人员,平常工作就是配合业务部门出出报表,选型一些商业软件,并在内部负责实施运维。最近领导出去参观了一些数字化转型比较领先的工厂和制造企业,回