首先要搭建一个容器镜像的制品库,可以使用商业的jfrog artifactory,redhat quay; 也可以用开源的harbor.
然后将制品库和单位的用户权限体系、研发流程和投产流程打通。根据流程流转结果,对制品库的目录、repo等进行联动配置,以达到镜像的权限隔离目的。
收起不同的银行,投产流程可能不一样。
主要是镜像制品,如何流转到生产环境:比如在开发、测试环境相隔离的情况下,镜像是在开发测试环境中生成后,会push到开发或测试环境的镜像仓库中,之后基于投产流程,会把需要的镜像流转到生产环境的镜像仓库中,但由于开发测试环境与生产环境网络不通,期间可能还需要有一个跳板机镜像仓库,用来承接镜像的流转。
镜像到达生产镜像仓库后,其后的投产就按照机构内投产或变更的流程要求走就好了。
是否可以建立不同的镜像仓库来做流转和隔离 ? 开发将镜像push到专用的测试镜像仓库;测试没问题的镜像push到专用的准生产镜像仓库;准生产测试没有问题的镜像push到专用的生产镜像仓库。
对于各镜像仓库进行权限管理,有些用户只能pull。有些用户可以push,也可以pull。
也可以进行更细的权限管理,可以和镜像仓库本身使用的文件系统,存储系统结合起来进行权限管理。
以上个人看法,供参考;
一般开发、测试、准生产环境都是可以网络打通的。
方案一:
采用一套容器云管理开发、测试、准生产环境的容器资源。所有镜像都在一个或多个镜像仓库里面。
方案二:
如果开发、测试、准生产环境中有多套容器云平台,建议通过镜像推送将新镜像更新到不同环境的镜像仓库里面。中间各个环境串联可以通过DevOps实现。
生产环境
按安全管理规定,生产环境是要跟其他环境物理隔离的,但也有用户通过网闸隔离。
物理隔离,1、通过人工摆渡镜像文件;2、借助跳板机,打通开发测试与生产网络,通过脚本自动同步镜像。
网闸隔离,可以考虑在网闸上开通点对点访问策略,实现镜像仓库同步。
关于各环境流转审核问题
如果有DevOps平台,通过该平台实现在各个环境流程的申请、审批、审核管理。
如果没有DevOps平台,可以在自己的OA、ITSM、云管、BMP上进行流程审批。
收起