×

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

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

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

您可以使用 Red Hat OpenShift Service on AWS 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. 登录到 Red Hat OpenShift Service on AWS 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. 登录到 Red Hat OpenShift Service on AWS 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 资源在网格中添加或删除项目

您可以使用带有 Red Hat OpenShift Service on AWS Web 控制台的ServiceMeshMemberRoll资源向网格添加或从中移除项目。您可以添加任意数量的项目,但一个项目只能属于一个网格。

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

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

  • 一个现有的ServiceMeshMemberRoll资源。

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

  • 您想要添加到网格或从网格中移除的项目的名称。

步骤
  1. 登录到 Red Hat OpenShift Service on AWS 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. 登录到 Red Hat OpenShift Service on AWS 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资源。当服务网格操作员处理ServiceMeshMember对象时,该项目将出现在ServiceMeshMemberRoll资源的status.members列表中。然后,驻留在该项目中的服务将可用于网格。

Adding project using `ServiceMeshMember` resource image

网格管理员必须授予每个网格用户权限,以便在ServiceMeshMember资源中引用ServiceMeshControlPlane资源。有了此权限,即使网格用户无权直接访问服务网格项目或ServiceMeshMemberRoll资源,也可以将项目添加到网格。有关更多信息,请参阅创建 Red Hat OpenShift Service Mesh 成员。

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

您可以使用带有 Red Hat OpenShift Service on AWS Web 控制台的ServiceMeshMember资源向网格添加一个或多个项目。

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

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

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

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

步骤
  1. 登录到 Red Hat OpenShift Service on AWS Web 控制台。

  2. 导航到Operators已安装的 Operators

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

  4. 单击 Red Hat OpenShift Service Mesh Operator。

  5. 单击**Istio Service Mesh Member**选项卡。

  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. 登录到 Red Hat OpenShift Service on AWS 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资源中指定的标签选择器使服务网格操作员能够根据命名空间标签向网格添加或从中移除命名空间。与您可以用来指定单个标签选择器的其他标准 Red Hat OpenShift Service on AWS 资源不同,您可以使用ServiceMeshMemberRoll资源来指定多个标签选择器。

Adding project using label selector image

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

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

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

您可以使用标签选择器通过 AWS 上的 Red Hat OpenShift Service Web 控制台将项目添加到服务网格。

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

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

  • 您已以具有dedicated-admin角色的用户身份登录到 AWS 上的 Red Hat OpenShift Service 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资源。

  • 您已以具有dedicated-admin角色的用户身份登录到 AWS 上的 Red Hat OpenShift Service。

步骤
  1. 登录到 Red Hat OpenShift Service on AWS 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 示例应用程序允许您在 AWS 上的 Red Hat OpenShift Service 上测试您的 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 应用程序部署到该项目以及在服务网格中查看正在运行的应用程序来创建示例应用程序的过程。

先决条件
  • 已安装 AWS 上的 Red Hat OpenShift Service 4.1 或更高版本。

  • 已安装 Red Hat OpenShift Service Mesh 2.6.4。

  • 访问 OpenShift CLI (oc)。

  • 您已以具有dedicated-admin角色的用户身份登录到 AWS 上的 Red Hat OpenShift Service。

本节中的命令假定服务网格控制平面项目为istio-system。如果您在另一个命名空间中安装了控制平面,请在运行每个命令之前对其进行编辑。

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

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

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

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

      $ oc new-project bookinfo
  4. 单击**运算符**→**已安装的运算符**。

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

  6. 单击**Red Hat OpenShift Service Mesh**运算符。

  7. 单击Istio Service Mesh 成员角色选项卡。

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

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

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

  9. 单击**创建**以保存更新后的服务网格成员角色。

    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是服务网格控制平面项目的名称。

      $ 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.yaml文件在`bookinfo`项目中部署 Bookinfo 应用程序

    $ 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 应用程序之前,您必须首先添加默认目标规则。有两个预配置的 YAML 文件,具体取决于您是否启用了相互传输层安全性 (TLS) 身份验证。

步骤
  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 示例应用程序的步骤。

  • 您已以具有dedicated-admin角色的用户身份登录到 AWS 上的 Red Hat OpenShift Service。

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. 复制并粘贴输出到网页浏览器中,以验证 Bookinfo 产品页面是否已部署。

Kiali Web 控制台操作步骤
  1. 获取 Kiali Web 控制台的地址。

    1. 登录到 Red Hat OpenShift Service on AWS Web 控制台。

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

    3. 在 **路由** 页面上,从 **命名空间** 菜单中选择服务网格控制平面项目,例如 `istio-system`。

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

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

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

  2. 在 Kiali 中,单击 **图形**。

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

  4. 单击 **显示空闲节点**(在 **显示** 菜单中)。

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

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

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

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

删除 Bookinfo 应用程序

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

先决条件
  • 已安装 AWS 上的 Red Hat OpenShift Service 4.1 或更高版本。

  • 已安装 Red Hat OpenShift Service Mesh 2.6.4。

  • 访问 OpenShift CLI (oc)。

删除 Bookinfo 项目

步骤
  1. 登录到 Red Hat OpenShift Service on AWS Web 控制台。

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

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

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

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

      $ oc delete project bookinfo

从服务网格成员角色中移除 Bookinfo 项目

步骤
  1. 登录到 Red Hat OpenShift Service on AWS Web 控制台。

  2. 单击**运算符**→**已安装的运算符**。

  3. 单击 **项目** 菜单,并从列表中选择 `istio-system`。

  4. 单击 **Red Hat OpenShift 服务网格** 运算符的 **提供的 API** 下的 **Istio 服务网格成员角色** 链接。

  5. 单击 `ServiceMeshMemberRoll` 菜单 kebab 并选择 **编辑服务网格成员角色**。

  6. 编辑默认的服务网格成员角色 YAML 并从 **成员** 列表中移除 `bookinfo`。

    • 或者,您可以使用 CLI 运行此命令以从 `ServiceMeshMemberRoll` 中移除 `bookinfo` 项目。在此示例中,`istio-system` 是服务网格控制平面项目的名称。

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

后续步骤