OpenShift既可以支持无状态应用,也可以支持有状态应用(使用statefulset),如redis、mysql等。整体上看,运行的无状态应用会多一些。
已建立了清晰的可自动化的编译及构建流程
应用使用了如Maven、Gradle、Make或Shell等工具实现了构建编译步骤的自动化。这将方便应用在容器平台上实现自动化的编译及构建。
已实现应用配置参数外部化
应用已将配置参数外部化与配置文件或环境变量中,以便于应用容器能适配不同的运行环境。
已提供合理可靠的健康检查接口
容器平台将通过健康检查接口判断容器状态,对应用服务进行状态保持。
已实现状态外部化,实现应用实例无状态化
应用状态信息存储于数据库或缓存等外部系统,应用实例本身实现无状态化。
不涉及底层的操作系统依赖及复杂的网络通信机制
应用以处理业务为主,不强依赖于底层操作系统及组播等网络通信机制以提高可移植性。
部署交付件及运行平台的大小在2GB以内
轻量级的应用便于在大规模集群中快速传输分发,更符合容器敏捷的理念。
启动时间在5分钟以内
过长的启动时间将不能发挥容器敏捷的特性。