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

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

 

本文以运维和研发两个视角,齐下确打介绍如何通过Seal AppManager 从源码构建一个 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> 

访问

通过以下 访问Seal的UI。

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

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

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

配置镜像仓库认证密钥

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

访问【运维中心】-【全局密钥】菜单,点击【新建密钥】按钮。 在【名称】中填入  REGISTRY_USERNAME ,在【内容】中填入镜像仓库认证的用户名,点击【保存】按钮。

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

4 在【名称】中填入  REGISTRY_PASSWORD

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

 

配置 Kubernetes 与环境

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

访问 【运维中心】-【连接器】菜单,点击【新建连接器】按钮。 在名称中填入 test-k8s ,在  Kubeconfig  中填入准备的集群  Kubeconfig  文件,点击保存按钮。 访问【运维中心】-【环境】菜单,点击【新建环境】按钮。 在【名称】中填入  development 。 点击【添加连接器】按钮,选择  test-k8s  连接器,点击【保存】

按钮。

 

 

注:

连接器是对接任意基础设施和服务的抽象对象,例如 Kubernetes,公有/私有云,虚拟机,亿华云版本控制系统等等。 环境是应用部署目标,环境中可以关联若干连接器。

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

 

研发视角

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

 

项目代码仓库放置在

创建应用

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

访 问【应用管理】-【应用】菜单,点击【新建应用】按钮。 在【名称】中填入  myapp ,点击模块配置中的【+】按钮。

在模块名称中填入  s2i ,模块列表中选择  build-container-image ,在Git URL中填入 入 

点击【Build】标签页,在  image  中填入镜像名称  registry.alpha.org/myproject/myimage:latest (注:这是张研所在Alpha公司的仓库地址,您需要换成您所用的镜像仓库地址)。云南idc服务商 勾选【Registry Authentication】,在【Username】和【Password】中分别填入  ${ secret.REGISTRY_USERNAME}  和  ${ secret.REGISTRY_PASSWORD} 。Seal的UI会引导填写对已配置密钥的引用。点击【确定】保存构建镜像模块的配置。 点击【模块配置】中的【+】按钮。 在模块名称中填入  web ,确认模块列表中选择  webservice ,在【Image Name】中填入  ${ module.s2i.image} ,Seal的UI会引导填写对其它模块输出的引用。 修改  Ports  为 8888 端口(这是张研所用代码监听的端口)。点击【确定】保存web服务模块的配置。 点击【保存】按钮保存应用配置。 

部署应用

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

进入  myapp  应用详情页。 点击应用信息右侧的【+】号添加实例按钮。 在名称中填入  dev1 ,选择运维团队(李维)提供的  development

 环境。点击【确定】按钮创建应用实例。

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

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

 

总结

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

欢迎来探索更多功能!
IT科技
上一篇:.com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
下一篇:④注册门槛低