搜索

第 3 章 应用程序生命周期管理

download PDF

3.1. 使用 Developer 视角创建应用程序

Web 控制台中的 Developer 视角为您提供了下列选项,以便您从 +Add 视图中创建应用程序和相关服务,并将它们部署到 OpenShift Container Platform:

  • From Git:使用这个选项时,可从 Git 存储库中导入现有代码库,在 OpenShift Container Platform 上创建、构建和部署应用程序。
  • Container Image:使用镜像流或 registry 中的现有镜像,将其部署到 OpenShift Container Platform 中。
  • From Dockerfile:从 Git 存储库导入 Dockerfile,以构建和部署应用程序。
  • YAML:使用编辑器添加 YAML 或 JSON 定义,以创建和修改资源。
  • From Catalog:浏览 Developer Catalog 来选择所需的应用程序、服务或 Source-to-Image 构建器,并将其添加到您的项目中。
  • Database:查看 Developer Catalog,以选择所需的数据库服务并将其添加到应用程序中。
  • Operator Backed: 浏览 Developer Catalog 来选择和部署所需的 Operator 管理服务。
  • Helm Chart: 访问 Developer Catalog 以选择所需的 Helm Chart 来简化应用程序和服务部署。

请注意,特定的选项,如 PipelinesEvent SourceImport Virtual Machines 只在 OpenShift Pipelines OperatorOpenShift Serverless OperatorOpenShift Virtualization Operator 被安装时才会显示。

3.1.1. 先决条件

要使用 Developer 视角创建应用程序,请确认以下几项:

  • 登陆到 web 控制台
  • 您已创建了一个项目,或者具有适当的角色和权限访问项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。

除以上所要求外,要创建无服务器应用程序,请确保:

3.1.2. 创建抽样应用程序

您可以使用 Developer 视角的 +Add 流中的基本示例应用程序来快速创建、构建和部署应用程序。

以下流程解释了 Developer 视角中的 Samples 选项以创建示例应用程序。

流程

  1. +Add 视图中,点 Samples 查看 Samples 页面。
  2. Samples 页面中,选择一个可用的示例应用程序来查看 Create Sample Application 表单。
  3. Create Sample Application Form 中:

    • Name 字段中,部署名称会被默认显示。您可以根据需要修改此名称。
    • Builder Image Version 中,会默认选择一个构建器镜像。您可以使用 Builder Image Version 下拉列表修改此镜像版本。
    • 默认添加 Git 存储库 URL 示例。
  4. Create 创建示例应用程序。示例应用程序的构建状态显示在 Topology 视图中。创建示例应用程序后,您可以看到添加到应用程序的部署。

3.1.3. 从 Git 导入代码库来创建应用程序

您可以在 Developer 视角中,使用 GitHub 中的现有代码库,在 OpenShift Container Platform 中创建、构建和部署应用程序。

以下流程逐步指导您在 Developer 视角中使用 Import from Git 选项来创建应用程序。

流程

  1. +Add 视图中,点击 From Git 以查看 Import from git 表单。
  2. Git 部分中,输入您要用来创建应用程序的代码库的 Git 存储库 URL。例如,输入此示例 Node.js 应用程序的 URL https://github.com/sclorg/nodejs-ex。这个 URL 随后会被验证。
  3. 可选:点 Show Advanced Git Options 来添加详情,例如:

    • git Reference,指向特定的分支、标签或提交中的代码,以用于构建应用程序。
    • Context Dir,指定要用来构建应用程序的应用程序源代码的子目录。
    • Source Secret,创建一个具有用来从私有存储库拉取源代码的凭证的 Secret Name
  4. Builder 部分,当验证 URL 后,会检测到一个适当的构建器镜像,由一个星号指示,并自动选择。对于 https://github.com/sclorg/nodejs-ex Git URL,默认选择 Node.js 构建器镜像。如果构建器镜像没有自动探测到,请选择一个构建器镜像。如果需要,您可以使用 Builder Image Version 下拉列表来更改版本。
  5. General 部分中:

    1. Application 字段中输入应用程序组别的唯一名称,例如 myapp。确保应用程序名称在命名空间中具有唯一性。
    2. 系统会基于 Git 存储库的 URL 自动填充 Name 字段,以标识为此应用程序创建的资源(如果没有存在的应用程序)。如果已有应用程序,可以选择将组件部署到现有应用程序中,创建一个新应用程序,或保持该组件没有被分配。

      注意

      资源名称必须在命名空间中具有唯一性。如果遇到错误,请修改资源名称。

  6. Resources 部分,选择:

    • Deployment,以纯 Kubernetes 风格方式创建应用程序。
    • Deployment Config,创建 OpenShift 风格的应用程序。
    • Knative Service,创建微服务。
    注意

    只有集群中安装了 Serverless Operator 时,Import from git 表单中才会显示 Knative Service 部分。如需进一步了解详细信息,请参阅有关安装 OpenShift Serverless 的文档。

  7. Pipelines 部分,选择 Add Pipeline,然后点 Show Pipeline Visualization 来查看应用程序的管道。
  8. Advanced Options 部分中默认选中 Create a route to the application,以便您可以使用公开的 URL 访问应用程序。如果不想通过公共路由公开您的应用程序,可以清除此复选框。
  9. 可选:可以使用以下高级选项进一步自定义应用程序:
路由

点击 Routing 链接,您可以执行以下操作:

  • 自定义路由的主机名。
  • 指定路由器监控的路径。
  • 从下拉列表中选择流量的目标端口。
  • 选中 Secure Route 复选框来保护您的路由。从相应的下拉列表中,选择所需的 TLS 终止类型,并设置非安全流量的策略。

    注意

    对于无服务器应用程序,Knative 服务管理上述所有路由选项。但在需要时,您可以自定义流量的目标端口。如果不指定目标端口,则使用默认端口 8080

健康检查

点击 Health Checks 链接为您的应用程序添加就绪(Readiness)、存活(Liveness)和启动(Startup)探测。所有探测都预先填充默认数据; 您可以使用默认数据添加探测或根据需要进行自定义。

自定义健康探测:

  • Add Readiness Probe,在需要的情况下修改参数来检查容器是否准备好处理请求,然后选择要添加的探测。
  • Add Liveness Probe,在需要的情况下修改参数来检查容器是否仍在运行,选择要添加的探测。
  • Add Startup Probe,在需要的情况下修改参数来检查容器内的应用程序是否已启动,选择要添加的探测。

    对于每个探测,您可以从下拉列表中指定请求类型 - HTTP GETContainer CommandTCP Socket。表单会根据所选请求类型进行更改。然后您可以修改其它参数的默认值,如探测成功和失败的阈值、在容器启动后执行第一个探测前的秒数、探测的频率以及超时值。

构建配置和部署

Build ConfigurationDeployment Configuration 链接来查看对应的配置选项。一些选项会被默认选中;您可以通过添加必要的触发器和环境变量来进一步自定义。

对于无服务器应用程序,Deployment 选项不会显示,因为 Knative 配置资源为您的部署维护所需的状态,而不是由 DeploymentConfig 来维护。

扩展

点击 Scaling 链接,以定义您要初始部署的应用程序的 pod 数或实例数。

如果要创建 Knative 服务,还可以配置以下设置:

  • autoscaler 可设置的 Pod 数设定上限和下限。如果不指定下限,则默认为零。
  • 定义给定时间上每个应用程序实例所需的并发请求数的软限值。它是自动扩展的推荐配置。如果不指定,它将使用集群配置中指定的值。
  • 定义给定时间上每个应用程序实例的并发请求数的硬限值。这在修订模板中进行配置。如果不指定,则默认为集群配置中指定的值。
资源限值
点击 Resource Limit 链接,设置容器在运行时保证或允许使用的 CPUMemory 资源的数量。
标签

点击 Labels 链接,为您的应用程序添加自定义标签。

  1. 点击 Create,以创建应用程序并在 Topology 视图中查看其构建状态。

3.1.4. 使用 Developer Catalog 将服务或组件添加到应用程序中

您可以使用 Developer Catalog 根据 Operator 支持的服务(如数据库、构建器镜像和 Helm Charts)部署应用程序和服务。Developer Catalog 包含您可以添加到项目的应用程序组件、服务、事件源或 Source-to-image 构建器的集合。集群管理员可以自定义目录中提供的内容。

流程

  1. Developer 视角中,导航到 +Add From Catalog 以查看 Developer Catalog 中所有可用服务。
  2. All Items 下,选择服务类型或您需要添加到项目的组件。在本例中,选择 Databases 以列出所有数据库服务,然后点击 MariaDB 查看该服务的详情。

    图 3.1. 开发者目录

    ODC devcatalog mariadb
  3. Instantiate Template 查看带有 MariaDB 服务详情的自动填充的模板,然后点 CreateTopology 视图中创建并查看 MariaDB 服务。

    图 3.2. Topology 中的 MariaDB

    ODC devcatalog toplogy

3.1.5. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.