本教程将向您展示如何将 Python 应用程序部署到云上的 OpenShift 集群。您还可以使用此处描述的方法来部署其他运行时环境上开发的应用程序或微服务。本教程中的示例将使用 Red Hat® OpenShift® on IBM Cloud™
本教程介绍了三个部署场景,它们都会构建应用程序并将其部署到 IBM Cloud 上的 OpenShift 集群:
需要将一个现有的 Docker 镜像推送到 IBM Cloud 上的 OpenShift 集群,然后进行部署:在此场景中,现有的 Docker 镜像位于一个专用注册表中。该镜像必须部署在 IBM Cloud 上的 OpenShift 集群中。例如,您可以在应用程序现代化期间以“直接迁移”(lift and shift) 方式使用此部署场景。由于您无权访问源文件,因此未实施任何持续集成或交付机制。
有一个含有源文件和 Dockerfile(包含有关如何汇编镜像的说明)的 GitHub 存储库:如果您希望在仅使用所需的依赖项和版本来汇编镜像时具有完全控制权和灵活性,那么此场景适用。由于您可以指定依赖项,因此代码始终与依赖项兼容。在此场景中,您需要维护 Dockerfile,这有时可能是一个复杂的任务。此场景允许持续集成并交付到 OpenShift 集群,这有助于使代码的部署版本保持最新。
有一个含有源文件的 GitHub 存储库:在此场景中,您依赖于 OpenShift Source to Image (S2I) Toolkit 来创建 Docker 镜像。OpenShift S2I 使用源文件和构建器镜像来创建新的 Docker 镜像。当使用 oc new-app ... 命令并且存储库中不存在 Dockerfile 时,将自动检测源代码的语言。在此处指定语言检测规则。根据 OpenShift 博客,使用 S2I 的优势包括速度、可修补性、