第 2 章 应用程序生命周期管理
2.1. 使用 Developer 视角创建应用程序
Web 控制台中的 Developer 视角为您提供了下列选项,以便您从 Add 视图中创建应用程序和相关服务,并将它们部署到 OpenShift Container Platform:
- From Git:使用这个选项时,可从 Git 存储库中导入现有代码库,在 OpenShift Container Platform 上创建、构建和部署应用程序。
- Container Image:使用镜像流或 registry 中的现有镜像,将其部署到 OpenShift Container Platform 中。
- From Catalog:浏览 Developer Catalog 来选择所需的应用程序、服务或 Source-to-Image 构建器,并将其添加到您的项目中。
- From Dockerfile:从 Git 存储库导入 Dockerfile,以构建和部署应用程序。
- YAML:使用编辑器添加 YAML 或 JSON 定义,以创建和修改资源。
- Add Database:查看 Developer Catalog,以选择所需的数据库服务并将其添加到应用程序中。
只有集群中安装了 Serverless Operator 时,才会显示上述选项中的无服务器部分。OpenShift Serverless 是一个技术预览功能。
先决条件
要使用 Developer 视角创建应用程序,请确认以下几项:
- 已登录 Web 控制台。
- 处于 Developer 视角。
- 在项目中拥有适当的角色和权限,可在 OpenShift Container Platform 中创建应用程序和其他工作负载。
2.1.1. 从 Git 导入代码库来创建应用程序
以下流程逐步指导您使用 Developer 视角中的 Import from Git 选项来创建应用程序。
使用 GitHub 中的现有代码库,在 OpenShift Container Platform 中创建、构建和部署应用程序,如下所示:
流程
在 Add 视图中,点击 From Git 以查看 Import from git 表单。
-
在 Git 部分中,输入您要用来创建应用程序的代码库的 Git 存储库 URL。例如,输入此示例 nodejs 应用程序的 URL
https://github.com/sclorg/nodejs-ex
。 可选:点 Show Advanced Git Options 来添加详情,例如:
- git Reference,指向特定的分支、标签或提交中的代码,以用于构建应用程序。
- Context Dir,指定要用来构建应用程序的应用程序源代码的子目录。
- Source Secret,创建一个具有用来从私有存储库拉取源代码的凭证的 Secret Name。
- 在 Builder 部分中,选择所需的构建器镜像来查看构建器镜像的详情。如果需要,您可以使用 Builder Image Version 下拉列表来更改版本。例如,选择 Node.js 构建器镜像。
在 General 部分中:
-
在 Application Name 字段中输入应用程序组别的唯一名称,例如
myapp
。确保应用程序名称在命名空间中具有唯一性。 系统会自动填充 Name 字段,以标识为此应用程序创建的资源。
注意资源名称必须在命名空间中具有唯一性。如果遇到错误,请修改资源名称。
-
在 Application Name 字段中输入应用程序组别的唯一名称,例如
在 Serverless 部分中选择 Enable scaling to zero when idle,以创建可自动将 Pod 数量缩放为零(以防止在空闲时消耗资源)的无服务器应用程序。
注意只有集群中安装了 Serverless Operator 时,Import from git 表单中才会显示 Serverless 部分。如需进一步了解详细信息,请参阅有关安装 OpenShift Serverless 的文档。
- Advanced Options 部分中默认选中 Create a route to the application,以便您可以使用公开的 URL 访问应用程序。如果不想通过公共路由公开您的应用程序,可以清除此复选框。
可选:可以使用以下高级选项进一步自定义应用程序:
- 路由
点击 Routing 链接,以执行以下操作:
- 自定义路由的主机名。
- 指定路由器监控的路径。
- 从下拉列表中选择流量的目标端口。
选中 Secure Route 复选框来保护您的路由。从相应的下拉列表中,选择所需的 TLS 终止类型,并设置非安全流量的策略。
对于无服务器应用程序,Knative Service 管理以上所有路由选项。但在需要时,您可以自定义流量的目标端口。如果不指定目标端口,则使用默认端口
8080
。
- 构建和部署配置
- 点击 Build Configuration 和 Deployment Configuration 链接,以查看对应的配置选项。其中一些选项默认选中;您可以通过添加必要的触发器和环境变量来进一步自定义。对于无服务器应用程序,Deployment Configuration 选项不会显示,因为 Knative 配置资源为您的部署维护所需的状态,而不是由 DeploymentConfig 来维护。
- 扩展
点击 Scaling 链接,以定义您要初始部署的应用程序的 Pod 数或实例数。
对于无服务器应用程序,可以:
- autoscaler 可设置的 Pod 数设定上限和下限。如果不指定下限,则默认为零。
- 定义给定时间上每个应用程序实例所需的并发请求数的软限值。它是自动扩展的推荐配置。如果不指定,它将使用集群配置中指定的值。
- 定义给定时间上每个应用程序实例的并发请求数的硬限值。这在修订模板中进行配置。如果不指定,则默认为集群配置中指定的值。
- 资源限值
- 点击 Resource Limit 链接,设置容器在运行时保证或允许使用的 CPU 和 Memory 资源的数量。
- 标签
- 点击 Labels 链接,为您的应用程序添加自定义标签。
- 点击 Create,以创建应用程序并在 Topology 视图中查看其构建状态。