×

先决条件

要在**拓扑**视图中查看您的应用程序并与之交互,请确保

  • 您已登录到 Web 控制台。

  • 您处于**开发者**视角。

查看应用程序的拓扑结构

您可以使用**开发者**视角中的左侧导航面板导航到**拓扑**视图。部署应用程序后,您将自动定向到**图形视图**,您可以在其中查看应用程序 Pod 的状态,快速访问公共 URL 上的应用程序,访问源代码以对其进行修改,并查看上次构建的状态。您可以放大和缩小以查看特定应用程序的更多详细信息。

**拓扑**视图提供使用**列表**视图监控应用程序的选项。使用**列表视图**图标 (odc 列表视图图标) 查看所有应用程序的列表,并使用**图形视图**图标 (odc 拓扑视图图标) 切换回图形视图。

您可以根据需要自定义视图,方法如下:

  • 使用**按名称查找**字段查找所需的组件。搜索结果可能会显示在可见区域之外;单击左下角工具栏中的**适合屏幕**以调整**拓扑**视图的大小以显示所有组件。

  • 使用**显示选项**下拉列表配置各种应用程序分组的**拓扑结构**视图。根据项目中部署的组件类型,可用的选项会有所不同。

    • **展开**分组

      • 虚拟机:切换以显示或隐藏虚拟机。

      • 应用程序分组:清除以将应用程序分组压缩成卡片,其中包含应用程序分组的概述及其关联的警报。

      • Helm 版本:清除以将部署为 Helm 版本的组件压缩成卡片,其中包含给定版本的概述。

      • 操作符分组:清除以将使用操作符部署的组件压缩成卡片,其中包含给定分组的概述。

    • 根据**Pod 数量**或**标签****显示**元素

      • Pod 数量:选择以在组件图标中显示组件的 Pod 数量。

      • 标签:切换以显示或隐藏组件标签。

与应用程序和组件交互

在 Web 控制台的**开发者**视角中的**拓扑结构**视图中,**图形视图**提供了以下选项来与应用程序和组件交互。

  • 单击**打开 URL** (odc open url) 以查看通过路由在公共 URL 上公开的应用程序。

  • 单击**编辑源代码**以访问您的源代码并对其进行修改。

    仅当您使用**从 Git**、**从目录**和**从 Dockerfile**选项创建应用程序时,此功能才可用。

  • 将光标悬停在 Pod 上的左下角图标上,即可查看最新构建的名称及其状态。应用程序构建的状态指示为**新建**(odc build new)、**等待中**(odc build pending)、**运行中**(odc build running)、**已完成**(odc build completed)和**失败**(odc build failed) 和 **已取消**(odc build canceled)。

  • Pod 的状态或阶段由不同的颜色和工具提示指示,如下所示:

    • **运行中**(odc pod running): Pod 已绑定到节点,并且所有容器均已创建。至少有一个容器仍在运行,或者正在启动或重新启动过程中。

    • **未就绪**(odc pod not ready): 运行多个容器的 Pod,并非所有容器都已就绪。

    • **警告**(odc pod warning): Pod 中的容器正在终止,但是终止未成功。某些容器可能处于其他状态。

    • 失败(odc pod failed): Pod 中的所有容器都已终止,但至少有一个容器终止时失败。也就是说,容器要么以非零状态退出,要么被系统终止。

    • 挂起(odc pod pending): Pod 已被 Kubernetes 集群接受,但一个或多个容器尚未设置并准备好运行。这包括 Pod 等待调度的时间以及通过网络下载容器镜像所花费的时间。

    • 成功(odc pod succeeded): Pod 中的所有容器都已成功终止,并且不会重新启动。

    • 终止中(odc pod terminating): 当 Pod 正在被删除时,某些 kubectl 命令会将其显示为终止中终止中状态不是 Pod 阶段之一。Pod 会获得一个优雅的终止周期,默认为 30 秒。

    • 未知(odc pod unknown): 无法获取 Pod 的状态。此阶段通常是由于与应运行 Pod 的节点通信时出错而导致的。

  • 创建应用程序并部署镜像后,状态显示为挂起。应用程序构建完成后,显示为运行中

    odc application topology
    图 1. 应用程序拓扑

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

    • CJ: CronJob

    • D: Deployment

    • DC: DeploymentConfig

    • DS: DaemonSet

    • J: Job

    • P: Pod

    • SS: StatefulSet

    • odc serverless app (Knative): 无服务器应用程序

      无服务器应用程序需要一些时间才能加载并在图表视图中显示。部署无服务器应用程序时,它首先创建一个服务资源,然后创建一个版本。之后,它将被部署并在图表视图中显示。如果它是唯一的负载,您可能会被重定向到添加页面。版本部署后,无服务器应用程序将显示在图表视图中。

扩展应用程序 Pod 并检查构建和路由

拓扑视图在概述面板中提供了已部署组件的详细信息。您可以使用概述详细信息选项卡来扩展应用程序 Pod,检查构建状态、服务和路由,如下所示:

  • 单击组件节点以查看右侧的概述面板。使用详细信息选项卡来:

    • 使用向上和向下箭头手动缩放 Pod,以增加或减少应用程序实例的数量。对于无服务器应用程序,当空闲时,Pod 会自动缩减到零,并根据通道流量进行扩展。

    • 检查应用程序的标签注释状态

  • 单击资源选项卡以:

    • 查看所有 Pod 的列表,查看其状态,访问日志,并单击 Pod 以查看 Pod 详细信息。

    • 查看构建、其状态、访问日志,并在需要时启动新的构建。

    • 查看组件使用的服务和路由。

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

向现有项目添加组件

您可以向项目添加组件。

步骤
  1. 导航到+添加视图。

  2. 单击左侧导航窗格旁边的添加到项目(odc add to project) 或按 Ctrl+空格

  3. 搜索组件并单击启动/创建/安装按钮,或单击Enter将组件添加到项目,并在拓扑图表视图中查看它。

    odc quick search
    图 2. 通过快速搜索添加组件

或者,您也可以使用上下文菜单中的可用选项,例如从 Git 导入容器镜像数据库从目录操作符支持Helm 图表示例上传 JAR 文件,方法是右键单击拓扑图表视图以将组件添加到您的项目。

odc context project
图 3. 添加服务的上下文菜单

在应用中分组多个组件

您可以使用+添加视图将多个组件或服务添加到您的项目,并使用拓扑图视图在应用组内对应用和资源进行分组。

先决条件
  • 您已使用开发者视角在 OpenShift Dedicated 上创建并部署了至少两个或更多组件。

步骤
  • 要将服务添加到现有的应用组,请按Shift + 并将其拖动到现有的应用组。将组件拖动并添加到应用组会将所需的标签添加到组件。

    odc app grouping label
    图 4. 应用分组

或者,您也可以按如下方式将组件添加到应用

  1. 单击服务 Pod 以查看右侧的概述面板。

  2. 单击操作下拉菜单,然后选择编辑应用分组

  3. 编辑应用分组对话框中,单击应用下拉列表,然后选择合适的应用组。

  4. 单击保存将服务添加到应用组。

您可以通过选择组件并使用Shift + 拖动将其从应用组中拖出,从而将组件从应用组中删除。

将服务添加到您的应用

要将服务添加到您的应用,请使用拓扑图视图中上下文菜单中的+添加操作。

除了上下文菜单外,您还可以使用侧边栏或将悬空箭头从应用组拖动来添加服务。

步骤
  1. 右键单击拓扑图视图中的应用组以显示上下文菜单。

    odc context menu
    图 5. 添加资源上下文菜单
  2. 使用添加到应用选择将服务添加到应用组的方法,例如从 Git容器镜像从 Dockerfile从 Devfile上传 JAR 文件事件源通道代理

  3. 完成您选择的方法的表单,然后单击创建。例如,要基于 Git 存储库中的源代码添加服务,请选择从 Git方法,填写从 Git 导入表单,然后单击创建

从您的应用中删除服务

在拓扑图视图中,使用上下文菜单从您的应用中删除服务。

步骤
  1. 右键单击拓扑图视图中应用组中的服务以显示上下文菜单。

  2. 选择删除部署以删除服务。

    odc deleting deployment
    图 6. 删除部署选项

拓扑视图使用的标签和注释

拓扑视图使用以下标签和注释

节点中显示的图标

节点中的图标是通过使用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 Dedicated 应用必须使用的标签和注释的详细信息,请参阅OpenShift 应用的标签和注释指南

其他资源