×

先决条件

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

  • 您已登录到 Web 控制台。

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

查看应用程序的拓扑结构

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

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

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

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

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

    • **展开**组

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

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

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

      • 操作员分组:清除以将使用操作员部署的组件压缩为包含给定组概述的卡片。

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

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

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

与应用程序和组件交互

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

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

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

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

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

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

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

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

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

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

    • **等待中**(odc pod pending): 容器已由 Kubernetes 集群接受,但一个或多个容器尚未设置并准备好运行。这包括容器等待调度的时长以及通过网络下载容器映像的时长。

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

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

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

  • 创建应用程序并部署映像后,状态将显示为**等待中**。构建应用程序后,将显示为**运行中**。

    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 Chart**、**示例**或**上传 JAR 文件**,方法是在拓扑结构**图表视图**中右键单击以向您的项目添加组件。

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

在一个应用程序中分组多个组件

您可以使用**+添加**视图向您的项目添加多个组件或服务,并使用拓扑结构**图表视图**在一个应用程序组内对应用程序和资源进行分组。

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

步骤
  • 要将服务添加到现有的应用程序组,请按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>标签用于对应用程序、服务和组件进行分组。

有关 Red Hat OpenShift Service on AWS 应用程序必须使用的标签和注释的详细信息,请参阅OpenShift 应用程序标签和注释指南

其他资源