搜索

2.4. 使用 Topology 视图查看应用程序组成情况

download PDF

Web 控制台的 Developer 视角中有一个 Topology 视图,它以可视化方式展示项目中的所有应用程序、它们的构建状态,以及关联的组件和服务。

先决条件

要在 Topology 视图中查看应用程序并与之交互,请确保:

2.4.1. 查看应用程序拓扑

您可以使用 Developer 视角中的左侧导航面板进入 Topology 视图。创建应用程序后,您会自动定向到 Topology 视图,从中可查看应用程序 Pod 状态,快速访问公共 URL 上的应用程序,访问源代码以进行修改,以及查看上一次构建的状态。您可以缩放视图来查看特定应用程序的更多详情。

无服务器应用程序显示有 Knative 符号 ( odc serverless app ) 表示。

注意

无服务器应用程序需要一些时间才能加载并显示在 Topology 视图中。创建无服务器应用程序时,首先会创建一个服务资源,然后创建一个修订。之后,进行部署并将其显示在 Topology 视图中。如果它是唯一的工作负载,可能会重定向到 Add 页面。部署了修订后,无服务器应用程序就会显示在 Topology 视图中。

Pod 的状态或阶段由不同的颜色和工具提示来表示:Running ( odc pod 已运行 )、Not Ready ( odc pod 未就绪 )、Warning( odc pod 警告 )、Failed( odc pod 失败 )、Pending( odc pod 待处理 )、Succeeded( odc pod 已成功 )、Terminating( odc pod 终止中 ) 或 Unknown( odc pod 未知 ) 表示。如需有关 Pod 状态的更多信息,请参阅 Kubernetes 文档

创建应用程序并部署镜像后,其状态会显示为 Pending。构建应用程序后,它会显示为 Running

应用程序拓扑

应用程序资源名称附有代表不同类型资源对象的指示符,如下所示:

  • DC:DeploymentConfigs
  • D:Deployment
  • SS:StatefulSet
  • DS:Daemonset

2.4.2. 与应用程序交互

Web 控制台的 Developer 视角中的 Topology 视图提供了如下可与应用程序交互的选项:

  • 点击 Open URL ( odc 打开 url ),可查看通过公共 URL 上路由公开的应用程序。
  • 点击 Edit Source code 可访问您的源代码并进行修改。

    注意

    只有使用 From GitFrom CatalogFrom Dockerfile 选项创建了应用程序时,此功能才可用。

    如果集群中安装了 Eclipse Che Operator,则会创建 Che 工作区 ( odc che 工作区 ),您也会定向到此工作区来编辑源代码。如果没有安装,您会被定向到 Git 存储库 ( odc git 存储库 ),即源代码的托管位置。

  • 光标悬停在 Pod 左下方图标上,可查看最新构建的名称及其状态。应用程序构建的状态表示为:New ( odc 构建新增 )、Pending ( odc 构建待处理 )、Running ( odc 构建运行中 )、Completed ( odc 构建已完成 )、Failed ( odc 构建已失败 ) 和 Canceled ( odc 构建已取消 ) 表示。

2.4.3. 扩展应用程序 Pod 以及检查构建和路由

Topology 视图在 Overview 面板中提供所部署组件的详情。您可以使用 OverviewResources 选项卡来缩放应用程序 Pod,以及检查构建状态、服务和路由等,如下所示:

  • 点击组件节点,以查看右侧的 Overview 面板。使用 Overview 选项卡可以:

    • 使用向上和向下箭头缩放 Pod,手动增加或减少应用程序的实例数。对于无服务器应用程序,Pod 数在空闲时会自动缩减为零,而且能根据频道流量扩展。
    • 检查应用程序的 LabelsAnnotationsStatus
  • 点击 Resources 选项卡可以:

    • 查看所有 Pod 列表,查看其状态,访问日志,还能点击 Pod 来查看 Pod 详情。
    • 查看构建及其状态,访问日志,并在需要时启动新的构建。
    • 查看组件所使用的服务和路由。

    对于无服务器应用程序,Resources 选项卡提供用于该组件的版本、路由和配置的有关信息。

2.4.4. 对应用程序中的多个组件进行分组

您可以使用 Add 页面在项目中添加多个组件或服务,还可使用 Topology 页面对应用程序组中的应用程序和资源进行分组。以下流程将 MongoDB 数据库服务添加到具有 Node.js 组件的现有应用程序中。

先决条件

  • 确保您已使用 Developer 视角在 OpenShift Container Platform 上创建并部署了 Node.js 应用程序。

流程

  1. 在您的项目中创建并部署 MongoDB 服务,如下所示:

    1. Developer 视角中,导航到 Add 视图,再选择 Database 选项来查看 Developer Catalog,其包含的多个选项可作为组件或服务添加到应用程序中。
    2. 点击 MongoDB 选项以查看该服务的详情。
    3. 点击 Instantiate Template 查看使用 MongoDB 服务的详情自动填充的模板,然后点击 Create 来创建服务。
  2. 在左侧导航面板中,点击 Topology 以查看项目中部署的 MongoDB 服务。
  3. 要将 MongoDB 服务添加到现有应用程序组中,请选择 mongodb Pod 并将其拖到应用程序中;MongoDB 服务会添加到现有应用程序组中。
  4. 拖动组件并将其添加到应用程序组中时,会自动将所需的标签添加到组件。点击 MongoDB 服务节点,可看到标签 app.kubernetes.io/part-of=myapp 已添加到 Overview 面板中的 Labels 部分。

    应用程序分组

另外,您还可以在应用程序中添加组件,如下所示:

  1. 要将 MongoDB 服务添加到应用程序中,请点击 mongodb Pod 以查看右侧的 Overview 面板。
  2. 点击面板右上角的 Actions 下拉菜单,再选择 Edit Application Grouping
  3. Edit Application Grouping 对话框中,点击 Select an Application 下拉列表,再选择适当的应用程序组。
  4. 点击 Save 以查看添加到应用程序组中的 MongoDB 服务。

2.4.5. 在应用程序内和应用程序间连接组件

除了对一个应用程序中的多个组件进行分组外,还可以使用 Topology 视图来相互连接组件。您可以将 MongoDB 服务与 Node.js 应用程序连接,如下所示:

先决条件

  • 确保您已使用 Developer 视角在 OpenShift Container Platform 上创建并部署了 Node.js 应用程序。
  • 确保已使用 Developer 视角在 OpenShift Container Platform 上创建并部署了 MongoDB 服务。

流程

  1. 光标悬停到 MongoDB 服务上,节点上出现悬浮的箭头。

    连接器
  2. 点击箭头并将它拖向 Node.js 组件,使它与 MongoDB 服务连接。
  3. 点击 MongoDB 服务以查看 Overview 面板。在 Annotations 部分,点击编辑图标,即可看到 Key = app.openshift.io/connects-toValue = nodejs-ex 注解已添加到该服务。

    注解

    同样,您可以创建其他应用程序和组件,并在它们之间建立连接。

    连接多个应用程序

2.4.6. 用于 Topology 视图的标签和注解

Topology 使用下列标签和注解:

节点中显示的图标
节点中的图标是通过使用 app.openshift.io/runtime 标签(随后是 app.kubernetes.io/name 标签)查找匹配图标来定义的。这种匹配是通过预定义的图标集合来完成的。
到源代码编辑器或源的链接
app.openshift.io/vcs-uri 注解用于创建源代码编辑器的链接。
节点连接器
app.openshift.io/connects-to 注解用于连接节点。
应用程序分组
app.kubernetes.io/part-of=<appname> 标签用于对应用程序、服务和组件进行分组。

如需了解 OpenShift Container Platform 应用程序必须使用的标签和注解,请参阅 OpenShift 应用程序的标签和注解指南

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.