S2I、ImageStream、Image

223 阅读1分钟

S2I、ImageStream、Image

S2I 指代的是一种 Build 的方式。一般只有开发语言类的 Image 支持这种方法。
部署应用如果是通过 web console,部署时选择通过 “Deploy Image” 来部署,是无需输入代码源的。而通过 Catalog 部署的是通过 S2I 完成 ,它们的区别是是否需要指定代码的位置。
S2I 并不是 image 的类型,而是一个 build 流程。

在使用 S2I 时,基本资源有:源代码、基础 Image 以及 Script。在开始阶段会下载代码进行 Build 并生成一个 Builder Pod (XXX-Build),成功后会生成一个新的 ImageStream 和 Image,形成 dc 并触发部署正式的生产 pod。未来发生代码更新时会刷新这些新资源,而基本 Image 中的内容并不会跟随发生变化。

eg: php7 创建默认示例网站 demophp 后,可以看到有对应的资源生成:

# oc get dc
NAME       REVISION   DESIRED   CURRENT   TRIGGERED BY
demophp   1          1         1         config,image(demophp:latest)
# oc get is
NAME       DOCKER REPO                                       T