将现有应用程序转移到云的构想(第 5 部分)

Description of your first forum.
Post Reply
suchona.kani.z
Posts: 194
Joined: Sat Dec 21, 2024 5:54 am

将现有应用程序转移到云的构想(第 5 部分)

Post by suchona.kani.z »

在我上一篇文章中,您了解了 pod 的实际含义以及使用 pod 时应该了解的功能、工具和选项。最后,我想向您展示在 OpenShift 中创建 pod 的选项,并向您介绍在此背景下的各种构建策略。

在 OpenShift 中创建 Pod 的可能性
如果您想在 OpenShift 中创建可执行 pod,可以从以下三种构建策略中进行选择:

Docker 策略(Docker 构建)
Source to Image 策略(Source to Image (S2I) 构建)
定制策略(定制构建)
但构建到底是什么?这是将输入参数或源代码转换为可执行映像的过程。

此时,OpenShift 使用现有的基础映像,然后使用 Dockerfile 或脚本对其进 商业房地产的潜在客户 行修改。这些存储在您自己的中,或者更好的是,作为构建映像存储在集成的 Docker 注册表中。 OpenShift 默认支持 Docker 构建和 S2I 构建。

Docker 和 S2I 策略创建可执行映像。但是,使用自定义策略会创建由构建器映像作者指定的对象。自定义对象 - 因为顾名思义,它们是用户定义的 - 没有一般应用程序。由于这些对象因情况而异,因此我不想在这里更详细地讨论它们。

Docker 策略
Docker 可用于在 OpenShift 中创建可执行映像,然后可以通过 Kubernetes 作为 pod 启动。换句话说:您可以将相应的镜像视为“建筑材料”,将 Kubernetes 视为一种“蓝图”。两者都需要创建一个功能对象,即 pod。

OpenShift 中的 Docker 策略本质上类似于正常的 Docker 构建过程。顺便说一下:采用Docker策略,这里调用的是构建命令(docker build)。要开始构建过程,您需要在文件夹结构中创建一个 Docker 文件,其中定义了创建或修改 Docker 映像的步骤。如果您需要已运行的 Pod 中的工件,则它们必须在构建过程中已存在。使用 Docker 策略创建 pod 的基本文件夹结构将如下所示:

源到图像策略
与 Docker 策略相比,源到镜像策略(S2I)要复杂得多。然而,这种方法有一些优点:S2I 是 Red Hat 的内部开发项目,是与 OpenShift 结合创建的。该策略涉及将应用程序复制到基于 Docker 的容器中,然后创建新映像。然而,在当前的 OpenShift 版本中,只能将工件添加到 S2I 进程内的“tar”打包文件中。相反,这意味着:初始映像必须能够处理“tar”文件。此外,命令“/bin/sh”应该是已知的。如果这两件事都是未知的,那么 S2I 进程将被迫执行额外的容器构建来提供服务。

S2I 流程中可以使用五种可能的脚本,我想向您简要介绍一下:

1.“assemble”脚本:“assemble”脚本在S2I进程中是绝对必要的。它负责从相应的源构建应用程序工件,并在完成后将它们打包到映像中的适当目录中。

2.“run”脚本:“run”脚本与“assemble”脚本一样,在S2I过程中也是需要的。该脚本的任务是启动创建的应用程序。

3.“save-artifacts”脚本:与上面提到的脚本不同,您可以选择使用“save-artifacts”脚本。它通过将工件从一个构建“保存”到下一个构建来加速构建过程。为此,这些工件被打包到“tar”文件中,并在下次构建映像时由 S2I 自动复制。
Post Reply