前言
Octopus(章鱼)是58集团自动化运维的核心服务之一,是上层业务运维自动化的基础组件。2013年发展至今,从最初单一提供自动部署功能,到目前的服务器信息采集、Nginx配置管理、服务器权限控制、远程命令执行、文件传输等服务器管控能力。Octopus通过自身插件系统,可实现管控能力的平台化与灵活扩展,以满足各种运维场景下的服务器管控需求。
整体架构图
Octopus管理中心基础数据来源于CMDB系统,Octopus Agent运行在每一台服务器上,作为运维基础组件。Agent初始化是服务器交付标准之一,已经绑定在CMDB服务器交付流程,用以保证所有服务器交付以后都可以通过Octopus进行管控。
Octopus Agent启动包括一系列初始化过程:
环境检查
Octopus Agent正常启动后会对服务器运行环境进行标准化检查,验证是否符合CMDB定义的标准化设置。
业务环境初始化
因不同的业务所依赖的软件环境和配置不同,Agent在运行时会根据CMDB中服务器所选择业务类型模板、初始化软件环境及配置,以保证业务运行环境的标准化和一致性。
配置动态加载
因不同的服务器类型、不同的业务场景对Agent的需求不同。为了最小化的占用服务器资源,我们选择对Agent的模块按需加载。Agent启动时,Octopus管理中心会根据CMDB中该服务器的配置信息以及Octopus管理中心的定义进行配置下发,Agent会根据配置信息动态加载所需的模块及配置信息。<