生命周期管理
本篇文档介绍 Rainbond 组件的基础属性,包括组件的生命周期、基础操作等。
组件状态
组件创建后就会进入到生命周期,在整个生命周期中会有一系列的状态,下文对各个状态进行解释。多数状态预设了超时时间,无论是否超时,在 3 分钟 后,都可以对组件重新进行全部生命周期操作。
状态 | 说明 |
---|---|
创建中 | 新创建的服务组件,正处于设置阶段。 |
构建中 | 新创建的服务组件设置完成,正在进行第一次服务组件版本构建。源码构建超时时间1小时,Dockerfile构建超时30分钟。超时不意味构建失败,参考构建日志来了解当前进度。 |
调度中 | 服务组件一旦构建完成,即进入调度中状态,实例颜色呈黄色。这个过程由K8s分配宿主机对实例进行调度。如果长时间维持在这个状态,则可能是由于没有宿主机节点可以运行该组件。 |
启动中 | 服务组件正在启动,实例颜色呈黄色。暂时不能访问,启动分为两个阶段,进程启动和业务启动,如果未配置启动时健康检查,只要进程启动完成则认为启动成功。启动超时时间为 40秒 * 实例数量。启动超时不意味启动失败 |
等待启动 | 等待启动状态和启动中状态不会同时出现,一旦进入等待启动状态,实例颜色呈黄色。说明当前服务组件所依赖的其他服务组件没有启动完成。需要等待所依赖的其他服务组件启动完成后,当前服务组件才会进入启动中状态。 |
运行中 | 服务组件所有运行实例处于运行状态,实例颜色呈绿色。正常来说处于运行中的服务组件可以被访问,也可能由于业务启动缓慢应用暂时不能访问 |
运行异常 | 服务组件运行正常的实例少于总实例即标识应用运行异常,异常实例颜色呈红色。对于多实例的服务组件,处于异常态的服务组件只要还有正常的实例即可提供服务。实例异常大多数情况是由于服务组件本身异常退出或因为内存不足发生 OOM 退出。平台会自动尝试重启异常的实例。可通过查看服务组件日志,或通过命令行工具查看更多应用信息 |
升级中 | 服务组件正处于滚动更新过程中,实例颜色呈黄色。多个节点处于当前状态的服务组件可以正常访问。升级超时时间为 3分钟 * 实例数量。升级超时不意味升级失败 |
已关闭 | 服务组件已经停止运行,持久化数据依然存在。关闭超时时间为 40秒 * 实例数量。如长时间处于 关闭中 状态,实例颜色呈黑色,请联系运维同事。 |
未知 | 实例颜色呈淡蓝色,服务组件处于此状态可能由于网络受阻,获取服务组件状态失败,或后端服务异常。可以尝试刷新页面,如果不能解决,请联系运维同事。 |
基础操作
构建操作
针对不同类型的组件,触发 构建
操作后,有着不同的含义,下表针对不同类型的组件加以说明:
组件类型 | 说明 |
---|---|
从源代码构建的组件 | 拉取最新源代码,根据预先识别的语言类型进行组件版本构建并进行滚动升级 |
从 Docker 镜像构建的组件 | 重新拉取指定镜像地址的镜像,构建出组件新版本并进行滚动升级 |
从应用市场构建的组件 | 若应用市场不存在更新的版本,构建操作将提醒用户无需操作,若已存在多个更新版本,将提示用户选择需要获取的版本号。根据所选版本获取组件介质生成构建版本并进行滚动升级 |