Access denied, Please sign in and make sure you have proper permission.
不卖关子,我是来寻求帮助的
官方链接
以我这段时间的理解,非常简要的介绍一下
- 这是一个用于管理软件生命周期、主机、SSL 证书、HTTP 代理等很多与进行主机配置有关的操作的工具,涉及到技术插件比较多
- 这是它官方的架构图
- 如图所示,该项目是以 foreman(一个用 rails 框架开发的 web 项目) 为中心的系统管理平台,利用它进一步管理其余多台主机
- 除了这个 web 项目以外,其余的的涉及到外部主机管理的功能主要通过插件 plugin 的来提供,大致会用到的技术有:
- libvirt 远程虚拟机管理
- smart-proxy 智能代理,借助智能代理,统一管理外部主机配置(具体怎么用我现在也不是很清楚)
- katello,内容管理,这个内容指的是软件包,比如用 katello 来管理使用 yum、apt 时下载软件包时,需要使用到的源,或者利用 katello 也可以自己搭建一个源
- candlepin,这个好像是和 katello 集成在一起的,用于处理发布订阅,主机订阅之后,可以定期将我们搭建好的源中的内容推送给主机,使用 java+tomcat
- pulp,这个好像也是和 katello 集成的,用于构建软件源仓库的,使用 python 编写
- puppet,用于自动化安装、配置主机,内部使用 jruby 编写
- ....etc
- 接下来是 foreman 这个 web 项目本身,其用到的 gem、技术也和我之前写的 ruby on rails 截然不同
- gettext 对应 i18n
- rabl 对应 jbuilder
- angular+react+webpacker-rails 对应 asset-pipeline(前端这块我挺傻眼的,代码规模有点大)
- dynflow 对应 workflow
- sidekiq 对应 foreman-task(其实仍然是用的 sidekiq,但是它封装了一层)
- ...etc
其实我被这个项目弄的很头疼
这个项目其实用到的技术挺多的,如果只是考虑搭建起来自己使用的话,还是比较方便的,官方提供了 foreman-installer 以及很多安装文档,尤其是 foreman-installer,在 rhel 环境是可以一键安装并运行的
但是对于如何开发这个项目我就很头疼了 (公司已经在使用这个项目进行运维管理,会有少数开发需求,主要集中在 foreman 和 katello),不知道有没有人进行这方面开发工作,这该如何上手,看着 foreman 明明是一个 rails 项目,现在却只能在生产模式下改代码然后给它重启,着实难受