关于运维:研发运维双管齐下Seal-AppManager的正确打开方式

43次阅读

共计 2396 个字符,预计需要花费 6 分钟才能阅读完成。

新一代利用对立部署治理平台 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 的利用模型形象。当然不止于此,一个利用模块能够是构建逻辑、云原生工作负载,也能够是传统部署负载或是其它的资源形象。
 
欢送来摸索更多功能!

正文完
 0