×

关于将项目添加到服务网格

安装 Operators 并创建 ServiceMeshControlPlane 资源后,将一个或多个项目添加到服务网格。

在 OpenShift Container Platform 中,项目本质上是 Kubernetes 命名空间,带有额外的注释,例如项目中可用的用户 ID 范围。通常,OpenShift Container Platform Web 控制台使用术语“项目”,而 CLI 使用术语“命名空间”,但这两个术语基本上是同义词。

您可以使用 OpenShift Container Platform Web 控制台或 CLI 将项目添加到现有的服务网格。有三种方法可以将项目添加到服务网格

  • ServiceMeshMemberRoll 资源中指定项目名称。

  • ServiceMeshMemberRoll 资源的 spec.memberSelectors 字段中配置标签选择器。

  • 在项目中创建 ServiceMeshMember 资源。

如果您使用第一种方法,则必须创建 ServiceMeshMemberRoll 资源。

创建 Red Hat OpenShift Service Mesh 成员卷

ServiceMeshMemberRoll 列出了属于 Service Mesh 控制平面的项目。只有 ServiceMeshMemberRoll 中列出的项目才会受到控制平面的影响。在将项目添加到特定控制平面部署的成员卷之前,该项目不属于服务网格。

您必须在与 ServiceMeshControlPlane 相同的项目(例如 istio-system)中创建名为 defaultServiceMeshMemberRoll 资源。

从 Web 控制台创建成员卷

您可以从 Web 控制台将一个或多个项目添加到 Service Mesh 成员卷。在此示例中,istio-system 是 Service Mesh 控制平面项目的名称。

先决条件
  • 已安装并验证的 Red Hat OpenShift Service Mesh Operator。

  • 要添加到服务网格的现有项目列表。

步骤
  1. 登录到 OpenShift Container Platform Web 控制台。

  2. 如果您还没有为网格创建服务,或者您是从头开始,请为您的应用程序创建一个项目。它必须与您安装 Service Mesh 控制平面的项目不同。

    1. 导航到**主页** → **项目**。

    2. 在**名称**字段中输入名称。

    3. 点击**创建**。

  3. 导航到**Operators** → **已安装的 Operators**。

  4. 单击**项目**菜单,然后从列表中选择部署 ServiceMeshControlPlane 资源的项目,例如 istio-system

  5. 单击 Red Hat OpenShift Service Mesh Operator。

  6. 单击**Istio Service Mesh 成员卷**选项卡。

  7. 单击**创建 ServiceMeshMemberRoll**

  8. 单击**成员**,然后在**值**字段中输入项目的名称。您可以添加任意数量的项目,但一个项目只能属于一个 ServiceMeshMemberRoll 资源。

  9. 点击**创建**。

从 CLI 创建成员卷

您可以从命令行将项目添加到 ServiceMeshMemberRoll

先决条件
  • 已安装并验证的 Red Hat OpenShift Service Mesh Operator。

  • 要添加到服务网格的项目列表。

  • 访问 OpenShift CLI (oc)。

步骤
  1. 登录到 OpenShift Container Platform CLI。

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
  2. 如果您还没有为网格创建服务,或者您是从头开始,请为您的应用程序创建一个项目。它必须与您安装 Service Mesh 控制平面的项目不同。

    $ oc new-project <your-project>
  3. 要将您的项目添加为成员,请修改以下示例 YAML。您可以添加任意数量的项目,但一个项目只能属于一个 ServiceMeshMemberRoll 资源。在此示例中,istio-system 是 Service Mesh 控制平面项目的名称。

    示例 servicemeshmemberroll-default.yaml
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system
    spec:
      members:
        # a list of projects joined into the service mesh
        - your-project-name
        - another-project-name
  4. 运行以下命令以上传并在 istio-system 命名空间中创建 ServiceMeshMemberRoll 资源。

    $ oc create -n istio-system -f servicemeshmemberroll-default.yaml
  5. 运行以下命令以验证 ServiceMeshMemberRoll 是否已成功创建。

    $ oc get smmr -n istio-system default

    STATUS 列为 Configured 时,安装已成功完成。

关于使用 ServiceMeshMemberRoll 资源添加项目

使用 ServiceMeshMemberRoll 资源是将项目添加到服务网格的最简单方法。要添加项目,请在 ServiceMeshMemberRoll 资源的 spec.members 字段中指定项目名称。ServiceMeshMemberRoll 资源指定哪些项目受 ServiceMeshControlPlane 资源控制。

Adding project using `ServiceMeshMemberRoll` resource image

使用此方法添加项目需要用户在要添加的项目中具有 update servicemeshmemberrollsupdate pods 权限。

  • 如果您已经有要添加到服务网格的应用程序、工作负载或服务,请参见以下内容

    • 使用 Web 控制台使用 ServiceMeshMemberRoll 资源添加或删除网格中的项目

    • 使用 CLI 使用 ServiceMeshMemberRoll 资源添加或删除网格中的项目

  • 或者,要安装名为 Bookinfo 的示例应用程序并将其添加到 ServiceMeshMemberRoll 资源,请参阅 Bookinfo 示例应用程序教程。

使用 Web 控制台使用 ServiceMeshMemberRoll 资源添加或删除网格中的项目

您可以使用 OpenShift Container Platform Web 控制台使用 ServiceMeshMemberRoll 资源添加或删除网格中的项目。您可以添加任意数量的项目,但一个项目只能属于一个网格。

当其对应的 ServiceMeshControlPlane 资源被删除时,ServiceMeshMemberRoll 资源也会被删除。

先决条件
  • 已安装并验证的 Red Hat OpenShift Service Mesh Operator。

  • 现有的 ServiceMeshMemberRoll 资源。

  • 具有 ServiceMeshMemberRoll 资源的项目的名称。

  • 您要添加或删除网格中的项目的名称。

步骤
  1. 登录到 OpenShift Container Platform Web 控制台。

  2. 导航到**Operators** → **已安装的 Operators**。

  3. 单击**项目**菜单,然后从列表中选择部署 ServiceMeshControlPlane 资源的项目。例如 istio-system

  4. 单击 Red Hat OpenShift Service Mesh Operator。

  5. 单击**Istio Service Mesh 成员卷**选项卡。

  6. 单击 default 链接。

  7. 单击 YAML 选项卡。

  8. 修改 YAML 以添加项目作为成员(或删除它们以删除现有成员)。您可以添加任意数量的项目,但一个项目只能属于一个 ServiceMeshMemberRoll 资源。

    示例 servicemeshmemberroll-default.yaml
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system #control plane project
    spec:
      members:
        # a list of projects joined into the service mesh
        - your-project-name
        - another-project-name
  9. 单击**保存**。

  10. 单击**重新加载**。

使用 CLI 使用 ServiceMeshMemberRoll 资源添加或删除网格中的项目

您可以使用 CLI 使用 ServiceMeshMemberRoll 资源将一个或多个项目添加到网格。您可以添加任意数量的项目,但一个项目只能属于一个网格。

当其对应的 ServiceMeshControlPlane 资源被删除时,ServiceMeshMemberRoll 资源也会被删除。

先决条件
  • 已安装并验证的 Red Hat OpenShift Service Mesh Operator。

  • 现有的 ServiceMeshMemberRoll 资源。

  • 具有 ServiceMeshMemberRoll 资源的项目的名称。

  • 您要添加或删除网格中的项目的名称。

  • 访问 OpenShift CLI (oc)。

步骤
  1. 登录到 OpenShift Container Platform CLI。

  2. 编辑 ServiceMeshMemberRoll 资源。

    $ oc edit smmr -n <controlplane-namespace>
  3. 修改 YAML 以添加或删除项目作为成员。您可以添加任意数量的项目,但一个项目只能属于一个 ServiceMeshMemberRoll 资源。

    示例 servicemeshmemberroll-default.yaml
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system #control plane project
    spec:
      members:
        # a list of projects joined into the service mesh
        - your-project-name
        - another-project-name
  4. 保存文件并退出编辑器。

关于使用 ServiceMeshMember 资源添加项目

ServiceMeshMember 资源提供了一种无需修改 ServiceMeshMemberRoll 资源即可将项目添加到服务网格的方法。要添加项目,请在要添加到服务网格的项目中创建一个 ServiceMeshMember 资源。当 Service Mesh Operator 处理 ServiceMeshMember 对象时,该项目将出现在 ServiceMeshMemberRoll 资源的 status.members 列表中。然后,驻留在项目中的服务将可用于网格。

Adding project using `ServiceMeshMember` resource image

网格管理员必须授予每个网格用户引用ServiceMeshControlPlane资源(位于ServiceMeshMember资源中)的权限。拥有此权限后,即使网格用户没有服务网格项目或ServiceMeshMemberRoll资源的直接访问权限,也可以将项目添加到网格中。更多信息,请参见创建 Red Hat OpenShift Service Mesh 成员。

使用 Web 控制台和 ServiceMeshMember 资源将项目添加到网格

您可以使用 OpenShift Container Platform Web 控制台和ServiceMeshMember资源将一个或多个项目添加到网格。

先决条件
  • 您已安装 Red Hat OpenShift Service Mesh Operator。

  • 您知道ServiceMeshControlPlane资源的名称及其所属项目的名称。

  • 您知道要添加到网格的项目的名称。

  • 服务网格管理员必须显式授予对服务网格的访问权限。管理员可以使用RoleBindingClusterRoleBinding分配mesh-userRole来授予用户访问网格的权限。更多信息,请参见创建 Red Hat OpenShift Service Mesh 成员

步骤
  1. 登录到 OpenShift Container Platform Web 控制台。

  2. 导航到**Operators** → **已安装的 Operators**。

  3. 点击项目菜单,然后从下拉列表中选择要添加到网格的项目。例如,istio-system

  4. 单击 Red Hat OpenShift Service Mesh Operator。

  5. 点击Istio 服务网格成员选项卡。

  6. 点击创建 ServiceMeshMember

  7. 接受ServiceMeshMember的默认名称。

  8. 点击展开ControlPlaneRef

  9. 命名空间字段中,选择ServiceMeshControlPlane资源所属的项目。例如,istio-system

  10. 名称字段中,输入此命名空间所属的ServiceMeshControlPlane资源的名称。例如,basic

  11. 点击**创建**。

验证
  1. 按照以下步骤确认ServiceMeshMember资源已创建且项目已添加到网格中

    1. 点击资源名称,例如,default

    2. 查看屏幕末尾显示的条件部分。

    3. 确认ReconciledReady条件的状态True

      如果状态False,请查看原因消息列以获取更多信息。

使用 CLI 和 ServiceMeshMember 资源将项目添加到网格

您可以使用 CLI 和ServiceMeshMember资源将一个或多个项目添加到网格。

先决条件
  • 您已安装 Red Hat OpenShift Service Mesh Operator。

  • 您知道ServiceMeshControlPlane资源的名称及其所属项目的名称。

  • 您知道要添加到网格的项目的名称。

  • 服务网格管理员必须显式授予对服务网格的访问权限。管理员可以使用RoleBindingClusterRoleBinding分配mesh-userRole来授予用户访问网格的权限。更多信息,请参见创建 Red Hat OpenShift Service Mesh 成员

步骤
  1. 登录到 OpenShift Container Platform CLI。

  2. 创建ServiceMeshMember清单的 YAML 文件。该清单将my-application项目添加到由部署在istio-system命名空间中的ServiceMeshControlPlane资源创建的服务网格中。

    apiVersion: maistra.io/v1
    kind: ServiceMeshMember
    metadata:
      name: default
      namespace: my-application
    spec:
      controlPlaneRef:
        namespace: istio-system
        name: basic
  3. 应用 YAML 文件以创建ServiceMeshMember资源。

    $ oc apply -f <file-name>
验证
  • 通过运行以下命令来验证命名空间是否属于网格的一部分。确认READY列中显示的值为True

    $ oc get smm default -n my-application
    示例输出
    NAME      CONTROL PLANE        READY   AGE
    default   istio-system/basic   True    2m11s
  • 或者,查看ServiceMeshMemberRoll资源以确认my-application命名空间是否显示在ServiceMeshMemberRoll资源的status.membersstatus.configuredMembers字段中。

    $ oc describe smmr default -n istio-system
    示例输出
    Name:         default
    Namespace:    istio-system
    Labels:       <none>
    # ...
    Status:
    # ...
      Configured Members:
        default
        my-application
    # ...
      Members:
        default
        my-application

关于使用标签选择器添加项目

对于集群范围的部署,您可以使用标签选择器将项目添加到网格。在ServiceMeshMemberRoll资源中指定的标签选择器使 Service Mesh Operator 能够根据命名空间标签将命名空间添加到网格或从网格中删除命名空间。与您可以用来指定单个标签选择器的其他标准 OpenShift Container Platform 资源不同,您可以使用ServiceMeshMemberRoll资源来指定多个标签选择器。

Adding project using label selector image

如果命名空间的标签与ServiceMeshMemberRoll资源中指定的任何选择器匹配,则该命名空间将包含在网格中。

在 OpenShift Container Platform 中,项目本质上是具有附加注释的 Kubernetes 命名空间,例如项目中可以使用 的用户 ID 范围。通常,OpenShift Container Platform Web 控制台使用术语项目,而 CLI 使用术语命名空间,但这两个术语基本同义。

使用 Web 控制台和标签选择器将项目添加到网格

您可以使用标签选择器将项目添加到 OpenShift Container Platform Web 控制台中的服务网格。

先决条件
  • 您已安装 Red Hat OpenShift Service Mesh Operator。

  • 部署具有现有的ServiceMeshMemberRoll资源。

  • 您已以cluster-admin身份登录到 OpenShift Container Platform Web 控制台。

步骤
  1. 导航到**Operators** → **已安装的 Operators**。

  2. 点击项目菜单,然后从下拉列表中选择部署ServiceMeshMemberRoll资源的项目。例如,istio-system

  3. 单击 Red Hat OpenShift Service Mesh Operator。

  4. 单击**Istio Service Mesh 成员卷**选项卡。

  5. 点击创建 ServiceMeshMember Roll

  6. 接受ServiceMeshMemberRoll的默认名称。

  7. 标签字段中,输入键值对以定义标识要包含在服务网格中的命名空间的标签。如果项目命名空间具有选择器指定的任何标签,则该项目命名空间将包含在服务网格中。您不需要同时包含这两个标签。

    例如,输入mykey=myvalue会将所有具有此标签的命名空间包含在网格中。当选择器识别到匹配项时,项目命名空间将添加到服务网格。

    输入myotherkey=myothervalue会将所有具有此标签的命名空间包含在网格中。当选择器识别到匹配项时,项目命名空间将添加到服务网格。

  8. 点击**创建**。

使用 CLI 和标签选择器将项目添加到网格

您可以使用 CLI 和标签选择器将项目添加到服务网格。

先决条件
  • 您已安装 Red Hat OpenShift Service Mesh Operator。

  • 部署具有现有的ServiceMeshMemberRoll资源。

  • 您已以`cluster-admin`身份登录到 OpenShift Container Platform。

步骤
  1. 登录到 OpenShift Container Platform CLI。

  2. 编辑 ServiceMeshMemberRoll 资源。

    $ oc edit smmr default -n istio-system

    您可以将服务网格控制平面部署到任何项目,前提是它与包含您的服务的项目分开。

  3. 修改 YAML 文件,以在ServiceMeshMemberRoll资源的spec.memberSelectors字段中包含命名空间标签选择器。

    除了使用matchLabels字段之外,您还可以使用选择器中的matchExpressions字段。

    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system
    spec:
      memberSelectors: (1)
      - matchLabels: (2)
          mykey: myvalue (2)
      - matchLabels: (3)
          myotherkey: myothervalue (3)
    1 包含用于识别哪些项目命名空间包含在服务网格中的标签选择器。如果项目命名空间具有选择器指定的任何标签,则该项目命名空间将包含在服务网格中。项目命名空间不需要同时包含这两个标签。
    2 指定所有具有mykey=myvalue标签的命名空间。当选择器识别到匹配项时,项目命名空间将添加到服务网格。
    3 指定所有具有myotherkey=myothervalue标签的命名空间。当选择器识别到匹配项时,项目命名空间将添加到服务网格。

Bookinfo 示例应用程序

Bookinfo 示例应用程序允许您在 OpenShift Container Platform 上测试 Red Hat OpenShift Service Mesh 2.6.4 安装。

Bookinfo 应用程序显示有关书籍的信息,类似于在线书店的单个目录条目。该应用程序显示一个页面,其中包含书籍描述、书籍详情(ISBN、页数和其他信息)以及书籍评论。

Bookinfo 应用程序包含以下微服务:

  • productpage 微服务调用 detailsreviews 微服务来填充页面。

  • details 微服务包含书籍信息。

  • reviews 微服务包含书籍评论。它还会调用 ratings 微服务。

  • ratings 微服务包含伴随书籍评论的书籍排名信息。

reviews 微服务有三个版本:

  • 版本 v1 不调用 ratings 服务。

  • 版本 v2 调用 ratings 服务,并将每个评分显示为一颗到五颗黑色星。

  • 版本 v3 调用 ratings 服务,并将每个评分显示为一颗到五颗红色星。

安装 Bookinfo 应用程序

本教程将引导您完成如何通过创建项目、将 Bookinfo 应用程序部署到该项目以及在 Service Mesh 中查看正在运行的应用程序来创建示例应用程序的过程。

先决条件
  • 已安装 OpenShift Container Platform 4.1 或更高版本。

  • 已安装 Red Hat OpenShift Service Mesh 2.6.4。

  • 访问 OpenShift CLI (oc)。

  • 您已以`cluster-admin`身份登录到 OpenShift Container Platform。

Bookinfo 示例应用程序无法安装在 IBM Z® 和 IBM Power® 上。

本节中的命令假设 Service Mesh 控制平面项目为 istio-system。如果您在另一个命名空间中安装了控制平面,请在运行之前编辑每个命令。

步骤
  1. 点击**主页** → **项目**。

  2. 点击**创建项目**。

  3. 输入 bookinfo 作为**项目名称**,输入**显示名称**和**描述**,然后点击**创建**。

    • 或者,您可以从 CLI 运行此命令来创建 bookinfo 项目。

      $ oc new-project bookinfo
  4. 点击**操作符** → **已安装的操作符**。

  5. 点击**项目**菜单并使用 Service Mesh 控制平面命名空间。在此示例中,使用 istio-system

  6. 点击**Red Hat OpenShift Service Mesh** 操作符。

  7. 单击**Istio Service Mesh 成员卷**选项卡。

    1. 如果您已经创建了 Istio Service Mesh 成员角色,请点击名称,然后点击 YAML 选项卡以打开 YAML 编辑器。

    2. 如果您尚未创建 ServiceMeshMemberRoll,请点击**创建 ServiceMeshMemberRoll**。

  8. 点击**成员**,然后在**值**字段中输入您的项目名称。

  9. 点击**创建**以保存更新的 Service Mesh 成员角色。

    1. 或者,将以下示例保存到 YAML 文件中。

      Bookinfo ServiceMeshMemberRoll 示例 servicemeshmemberroll-default.yaml
      apiVersion: maistra.io/v1
      kind: ServiceMeshMemberRoll
      metadata:
        name: default
      spec:
        members:
        - bookinfo
    2. 运行以下命令以上传该文件并在 istio-system 命名空间中创建 ServiceMeshMemberRoll 资源。在此示例中,istio-system 是 Service Mesh 控制平面项目的名称。

      $ oc create -n istio-system -f servicemeshmemberroll-default.yaml
  10. 运行以下命令以验证 ServiceMeshMemberRoll 是否已成功创建。

    $ oc get smmr -n istio-system -o wide

    STATUS 列为 Configured 时,安装已成功完成。

    NAME      READY   STATUS       AGE   MEMBERS
    default   1/1     Configured   70s   ["bookinfo"]
  11. 从 CLI 部署在 *`bookinfo`* 项目中的 Bookinfo 应用程序,方法是应用 bookinfo.yaml 文件。

    $ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/platform/kube/bookinfo.yaml

    您应该看到类似于以下内容的输出。

    service/details created
    serviceaccount/bookinfo-details created
    deployment.apps/details-v1 created
    service/ratings created
    serviceaccount/bookinfo-ratings created
    deployment.apps/ratings-v1 created
    service/reviews created
    serviceaccount/bookinfo-reviews created
    deployment.apps/reviews-v1 created
    deployment.apps/reviews-v2 created
    deployment.apps/reviews-v3 created
    service/productpage created
    serviceaccount/bookinfo-productpage created
    deployment.apps/productpage-v1 created
  12. 通过应用 bookinfo-gateway.yaml 文件来创建入口网关。

    $ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/bookinfo-gateway.yaml

    您应该看到类似于以下内容的输出。

    gateway.networking.istio.io/bookinfo-gateway created
    virtualservice.networking.istio.io/bookinfo created
  13. 设置 GATEWAY_URL 参数的值。

    $ export GATEWAY_URL=$(oc -n istio-system get route istio-ingressgateway -o jsonpath='{.spec.host}')

添加默认目标规则

在您可以使用 Bookinfo 应用程序之前,必须首先添加默认目标规则。根据您是否启用了相互传输层安全 (TLS) 身份验证,有两个预配置的 YAML 文件。

步骤
  1. 要添加目标规则,请运行以下命令之一:

    • 如果您没有启用相互 TLS:

      $ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all.yaml
    • 如果您启用了相互 TLS:

      $ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all-mtls.yaml

      您应该看到类似于以下内容的输出。

      destinationrule.networking.istio.io/productpage created
      destinationrule.networking.istio.io/reviews created
      destinationrule.networking.istio.io/ratings created
      destinationrule.networking.istio.io/details created

验证 Bookinfo 安装

要确认示例 Bookinfo 应用程序已成功部署,请执行以下步骤。

先决条件
  • 已安装 Red Hat OpenShift Service Mesh。

  • 完成安装 Bookinfo 示例应用程序的步骤。

  • 您已以`cluster-admin`身份登录到 OpenShift Container Platform。

CLI 流程
  1. 使用以下命令验证所有 Pod 是否已准备就绪:

    $ oc get pods -n bookinfo

    所有 Pod 的状态都应为 运行中。您应该看到类似于以下内容的输出。

    NAME                              READY   STATUS    RESTARTS   AGE
    details-v1-55b869668-jh7hb        2/2     Running   0          12m
    productpage-v1-6fc77ff794-nsl8r   2/2     Running   0          12m
    ratings-v1-7d7d8d8b56-55scn       2/2     Running   0          12m
    reviews-v1-868597db96-bdxgq       2/2     Running   0          12m
    reviews-v2-5b64f47978-cvssp       2/2     Running   0          12m
    reviews-v3-6dfd49b55b-vcwpf       2/2     Running   0          12m
  2. 运行以下命令以检索产品页面的 URL:

    echo "http://$GATEWAY_URL/productpage"
  3. 将输出复制并粘贴到 Web 浏览器中,以验证 Bookinfo 产品页面是否已部署。

Kiali Web 控制台流程
  1. 获取 Kiali Web 控制台的地址。

    1. 登录到 OpenShift Container Platform Web 控制台。

    2. 导航到**网络** → **路由**。

    3. 在**路由**页面上,从**命名空间**菜单中选择 Service Mesh 控制平面项目,例如 istio-system

      **位置**列显示每个路由的链接地址。

    4. 点击 Kiali 的**位置**列中的链接。

    5. 点击**使用 OpenShift 登录**。Kiali 的**概述**屏幕显示每个项目命名空间的图块。

  2. 在 Kiali 中,点击**图表**。

  3. 从**命名空间**列表中选择 bookinfo,从**图表类型**列表中选择应用程序图表。

  4. 从**显示**菜单中点击**显示空闲节点**。

    这将显示已定义但未接收或发送请求的节点。它可以确认应用程序已正确定义,但尚未报告任何请求流量。

    Kiali displaying bookinfo application
    • 使用**持续时间**菜单增加时间段,以帮助确保捕获较旧的流量。

    • 使用**刷新率**菜单更频繁或更不频繁地刷新流量,或者根本不刷新。

  5. 点击**服务**、**工作负载**或**Istio 配置**以查看 bookinfo 组件的列表视图,并确认它们是否健康。

删除 Bookinfo 应用程序

按照以下步骤删除 Bookinfo 应用程序。

先决条件
  • 已安装 OpenShift Container Platform 4.1 或更高版本。

  • 已安装 Red Hat OpenShift Service Mesh 2.6.4。

  • 访问 OpenShift CLI (oc)。

删除 Bookinfo 项目

步骤
  1. 登录到 OpenShift Container Platform Web 控制台。

  2. 点击**主页** → **项目**。

  3. 点击 bookinfo 菜单 kebab,然后点击**删除项目**。

  4. 在确认对话框中输入 bookinfo,然后点击**删除**。

    • 或者,您可以使用 CLI 运行此命令来创建 bookinfo 项目。

      $ oc delete project bookinfo

从 Service Mesh 成员角色中删除 Bookinfo 项目

步骤
  1. 登录到 OpenShift Container Platform Web 控制台。

  2. 点击**操作符** → **已安装的操作符**。

  3. 点击**项目**菜单,然后从列表中选择istio-system

  4. 针对**Red Hat OpenShift Service Mesh** 运营商,点击**提供的APIS**下的**Istio Service Mesh 成员角色**链接。

  5. 点击ServiceMeshMemberRoll菜单kebab,然后选择**编辑 Service Mesh 成员角色**。

  6. 编辑默认的 Service Mesh 成员角色 YAML 并从**成员**列表中删除bookinfo

    • 或者,您可以使用 CLI 运行以下命令来从ServiceMeshMemberRoll中删除bookinfo项目。在此示例中,istio-system 是 Service Mesh 控制平面项目的名称。

      $ oc -n istio-system patch --type='json' smmr default -p '[{"op": "remove", "path": "/spec/members", "value":["'"bookinfo"'"]}]'
  7. 点击**保存**以更新 Service Mesh 成员角色。

后续步骤