IBM Cloud Docs
Red Hat OpenShift on IBM Cloud 上的服务网格

Red Hat OpenShift on IBM Cloud 上的服务网格

本教程可能会发生成本。 使用 成本估算器 根据您的预计使用量生成成本估算。

本教程将指导您如何在 Red Hat OpenShift on IBM Cloud 集群中安装名为 BookInfo 的样本应用程序的 Red Hat OpenShift Service Mesh 以及微服务。 您还将了解如何配置 Istio 入口网关以在服务网格外部公开服务,执行流量管理以设置重要任务 (例如 A/B 测试和 canary 部署),保护微服务通信以及使用度量,日志记录和跟踪来观察服务。

基于开放式源代码 Istio 项目,Red Hat OpenShift Service Mesh 在现有分布式应用程序上添加透明层。Red Hat OpenShift Service Mesh 提供了一个平台,用于在服务网格中对联网的微服务进行行为洞察和操作控制。 通过 Red Hat OpenShift,您可以在 Red Hat OpenShift on IBM Cloud 集群中连接,保护和监视微服务。

Istio 是一个开放式平台,用于在云平台 (例如 Red Hat OpenShift on IBM Cloud中的 Kubernetes ) 上连接,保护,控制和观察微服务 (也称为服务网格)。

目标

  • 在集群中安装 Red Hat OpenShift Service Mesh
  • 部署 BookInfo 样本应用程序
  • 使用度量,日志记录和跟踪来观察服务
  • 设置 Istio Ingress 网关
  • 执行简单的流量管理,例如 A/B 测试和金丝雀部署
  • 使用 mTLS 保护网格

架构图*" caption-side="bottom"}{: caption="*

  1. 管理员供应 Red Hat OpenShift on IBM Cloud 集群,并与其他 Telemetry Operator 一起安装 Service Mesh Operator。
  2. 管理员创建 istio-system 名称空间 (项目) 并创建 ServiceMeshControlPlane
  3. 管理员在启用自动 Sidecar 注入的情况下创建 bookinfo 名称空间,并将 BookInfo 应用程序 (具有四个单独的微服务) 部署到 Service Mesh。
  4. Admin 使用 Istio Ingress Gateway 公开外部流量的应用程序。
  5. 用户通过浏览器安全 HTTPS 访问应用程序。
  6. 管理员使用度量,跟踪和日志来监视微服务的运行状况和性能。

准备工作

本教程需要:

  • IBM Cloud CLI,
    • IBM Cloud Kubernetes Service 插件 (kubernetes-service),
  • oc,用于与 OpenShift进行交互。

您将在 教程入门 指南中找到有关为您的操作环境下载和安装这些工具的指示信息。

要避免安装这些工具,可以从 IBM Cloud 控制台使用 Cloud Shell。 使用 oc version 以确保 Red Hat OpenShift on IBM Cloud CLI 的版本与集群版本 (4.13.x) 匹配。如果它们不匹配,请遵循 这些指示信息 来安装匹配的版本。

创建一个 Red Hat OpenShift on IBM Cloud 集群

通过 Red Hat OpenShift on IBM Cloud,您可以快速安全地在集群中容器化和部署企业工作负载。Red Hat OpenShift on IBM Cloud 集群基于 Kubernetes 容器编排构建,为开发生命周期操作提供一致性和灵活性。

在此部分中,您将在具有两个 (2) 工作程序节点的一个 (1) 专区中供应 Red Hat OpenShift on IBM Cloud 集群:

  1. 登录到 IBM Cloud 帐户,并从 Red Hat OpenShift on IBM Cloud 集群创建页面 创建 Red Hat OpenShift on IBM Cloud 集群。
  2. Orchestration 服务 设置为 4.13.x 版本的 Red Hat OpenShift on IBM Cloud
  3. 选择 OCP 权利。
  4. 基础架构 下,选择经典或 VPC
    • 对于 VPC 基础设施上的 Red Hat OpenShift on IBM Cloud,在创建 Kubernetes之前,您需要创建一个 VPC 和一个子网。 创建或检查所需的 VPC,请记住以下内容 (请参阅 创建标准 VPC 集群 下提供的指示信息):
      • 一个可用于本教程的子网,请记下子网的区域和名称
      • 公共网关已连接到子网
    • 选择所需的 VPC
    • 选择现有 Cloud Object Storage 服务或创建一个服务 (如果需要),然后选择
  5. 在 地点
    • 对于 VPC 基础结构上的 Red Hat OpenShift on IBM Cloud
      • 选择资源组
      • 取消选中不适用的区域
      • 在期望的区域中验证期望的子网名称,如果不存在,请单击编辑画笔以选择期望的子网名称
    • 对于经典基础架构上的 Red Hat OpenShift on IBM Cloud,请遵循 创建标准经典集群 指示信息。
      • 选择资源组
      • 选择 地理位置
      • 选择 单个区域 作为 可用性
      • 选择一个数据中心
  6. “工人池”下,
    • 选择 4 vCPUs 16GB 内存 作为类型模板
    • 针对本教程选择 2 每个数据中心的工作程序节点 (仅限经典: 保留 加密本地磁盘)
  7. 资源详细信息下,通过将 <your-initials> 替换为您自己的缩写,将 集群名称 设置为 -myopenshiftcluster
  8. 单击 创建 以供应 Red Hat OpenShift on IBM Cloud 集群。

记下上面选择的资源组。 此同一资源组将用于此实验室中的所有资源。

使用 IBM Cloud Shell 访问集群

Red Hat OpenShift on IBM Cloud 集装箱平台 CLI 会显示用于管理应用程序的命令,以及用于与系统各组件交互的底层工具。 该 CLI 可通过 oc 命令使用。

为避免安装命令行工具,建议的方法是使用 IBM Cloud Shell。

IBM Cloud Shell 是可通过浏览器访问的基于云的 shell 工作空间。 它预先配置了完整的 IBM Cloud CLI 以及可用于管理应用程序,资源和基础结构的许多插件和工具。

在此步骤中,您将使用 IBM Cloud shell 并配置 oc 以指向分配给您的集群。

  1. 集群就绪后,在集群概述页面上,单击 OpenShift Web 控制台 以打开控制台。 确保未关闭此窗口/选项卡
  2. 在 Web 控制台上,单击屏幕右上角您的名称下的下拉列表,然后选择 复制登录命令,然后单击 显示令牌 链接。
  3. 复制 使用此令牌登录下的文本。
  4. 在新的浏览器选项卡/窗口中,打开 IBM Cloud Shell 以启动新会话。 会话启动后,您应自动登录到 IBM Cloud CLI。 确保未关闭此窗口/选项卡
  5. 检查 OpenShift CLI 的版本:
    oc version
    
  6. 版本必须至少为 4.13.x,否则请遵循 这些指示信息 来安装最新版本。
  7. 粘贴从 Web 控制台复制的登录命令,然后按 Enter 键。 使用 oc login 命令登录后,请运行以下命令来查看集群中的所有名称空间
    oc get ns
    
  8. Cloud Shell 中,使用 oc new-project 命令创建名为 "bookinfo" 的项目。 该项目将保存在安装服务网格后创建的应用程序。
    oc new-project bookinfo
    
    在 Red Hat OpenShift 中,项目是具有附加注释的 Kubernetes 名称空间。

安装 Service Mesh-Istio

在本部分中,您将在集群上安装 Service Mesh-Istio。 安装 Service Mesh 涉及安装 Elasticsearch,Jaeger,Kiali 和 Service Mesh Operator,创建和管理 ServiceMeshControlPlane 资源以部署控制平面,以及创建 ServiceMeshMemberRoll 资源以指定与 Service Mesh 关联的名称空间。

部分项目有多个运营商。 请小心安装下面指定的

Elasticsearch-基于开放式源代码 Elasticsearch 项目,该项目使您能够配置和管理 Elasticsearch 集群以使用 Jaeger 进行跟踪和日志记录。

Jaeger-基于开放式源代码 Jaeger 项目,允许您执行跟踪以监视复杂分布式系统中的事务并对其进行故障诊断。

Kiali-基于开放式源代码 Kiali 项目,为服务网格提供可观察性。 通过使用 Kiali,您可以在单个控制台中查看配置,监视流量以及查看和分析跟踪。

Red Hat OpenShift Service Mesh-基于开放式源代码 Istio 项目,使您能够连接,保护,控制和观察构成应用程序的微服务。

安装操作程序

  1. Red Hat OpenShift Web 控制台的左侧窗格上,在下拉列表中选择 管理员
  2. 选择 操作程序,然后选择 OperatorHub
  3. 搜索 OpenShift Elasticsearch Operator,单击磁贴,单击 安装,保留缺省选项,然后单击 安装
  4. 重复 上述步骤 2 和 3 以安装操作程序,
    1. Red Hat OpenShift 分布式跟踪平台
    2. Kiali Operator (由 Red Hat提供)
    3. Red Hat OpenShift Service Mesh

这将在缺省 openshift-operators 项目中安装操作程序,并使这些操作程序可用于集群中的所有项目。

部署 Red Hat OpenShift Service Mesh 控制平面

Red Hat OpenShift Service Mesh 操作程序使用 ServiceMeshControlPlane 资源来确定如何安装 Istio 以及需要哪些组件。 让我们立即创建该资源。

  1. 通过转至 Web 控制台左窗格上的 主页,单击 项目,然后单击 创建项目来创建新项目。
  2. “名称” 中输入 istio-system,然后点击 “创建”。
  3. 浏览至 操作程序,然后单击 已安装的操作程序
  4. 从顶部栏上的“项目”菜单中选择 istio-system
  5. 单击 Red Hat OpenShift Service Mesh。 如果未看到,请等待几分钟并刷新。
  6. 在“详细信息”选项卡上的 Istio 服务网格控制平面磁贴下,单击 Create InstanceCreate ServiceMeshControlPlane
  7. 然后,单击创建操作员根据配置参数创建 Pod,服务和 Service Mesh 控制平面组件。
  8. 要确保正确安装服务网格控制平面,请单击列表中 Name 下的 基本。 在后续页面上,您应该会看到 组件 就绪。 此外,当您滚动到页面的 条件 部分时,应该会看到原因 ComponentsReady 和消息 All component deployments are Available

创建ServiceMeshMemberRoll

ServiceMeshMemberRoll 资源用于指定与服务网格相关的命名空间。

  1. 再次浏览至 操作程序已安装的操作程序
  2. 单击 Red Hat OpenShift Service Mesh
  3. 在“详细信息”选项卡的 Istio 服务网格成员卷磁贴下,单击 创建实例创建 ServiceMeshMemberRoll 然后选择 YAML 视图
  4. your-project 更改为 bookinfo 并删除最后一行 (- another-of-your-projects)。编辑后,YAML 应如下所示:
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system
    spec:
      members:
        - bookinfo
    
  5. 然后,单击创建

您已成功将 Istio 安装到集群中。

在 Service Mesh 上部署 BookInfo 应用程序

BookInfo 应用程序 显示有关书籍的信息,类似于在线书店的单个商品。 在页面上显示的是对书籍的描述,书籍详细信息 (ISBN,页数等) 以及几个书评。

Bookinfo 应用程序分为四个独立的微服务:

  • productpage。 产品页面微服务调用详细信息和评论微服务来填充页面。
  • 详情。 详细信息微服务包含书籍信息。
  • 评论。 评论微服务包含书籍评论。 它还会调用评级微服务。
  • 评分。 评分微服务包含书评附带的书籍排名信息。

有 3 个版本的 review 微服务:

  • 版本 v1 未调用评级服务。
  • v2 调用评级服务,并以1到5颗黑星的形式显示每个评级。
  • v3 调用评级服务,并以1到5颗红星显示每个评级。

下面显示了应用程序的端到端体系结构。

使用 Istio 的体系结构
使用 Istio 的体系结构

Red Hat OpenShift Service Mesh 依赖于应用程序 pod 中的 Envoy 侧柜向应用程序提供 Service Mesh 功能。 您可以启用自动侧柜注入或手动对其进行管理。 建议的方法是使用注释进行自动注入。

  1. 通过将 bookinfo.yaml 文件应用于 Red Hat OpenShift 集群,在 bookinfo 项目中部署 Bookinfo 应用程序。 这将部署所有微服务应用程序,包括复审应用程序的 V v1,v2 和 v3。

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

    bookinfo.yaml 文件进行了注释 sidecar.istio.io/inject: "true",以针对 Red Hat OpenShift 服务网启用 Istio 侧柜自动注入。 因此,这些 pod 还将包含在集群中启动时的 Envoy Sidecar。

    Red Hat OpenShift Service Mesh 的安装在多个方面与上游 Istio 社区安装不同。 请参阅 此链接 以比较 Service Mesh 和 Istio。 缺省情况下,如果您已标记项目 istio-injection=enabled,那么 Istio 将插入侧柜。Red Hat OpenShift Service Mesh 将以不同方式处理此问题,并要求您选择将侧柜自动注入到部署中,因此您无需标记项目。 这将避免在不需要时 (例如,在构建或部署 Pod 中) 注入侧柜。

  2. 确认豆荚已启动并运行。

    oc get pods
    

    样本输出:

    NAME                              READY     STATUS    RESTARTS   AGE
    details-v1-789c5f58f4-9twtw       2/2       Running   0          4m12s
    productpage-v1-856c8cc5d8-xcx2q   2/2       Running   0          4m11s
    ratings-v1-5786768978-tr8z9       2/2       Running   0          4m12s
    reviews-v1-5874566865-mxfgm       2/2       Running   0          4m12s
    reviews-v2-86865fc7d9-mf6t4       2/2       Running   0          4m12s
    reviews-v3-8d4cbbbbf-rfjcz        2/2       Running   0          4m12s
    

    请注意,每个 bookinfo pod 中都有 2 个容器。 一个是 bookinfo 容器,另一个是 Envoy 代理 sidecar。

您的 bookinfo 应用程序正在运行,但您无法访问该应用程序,因为该服务尚未配置为接收外部流量。 在下一部分中,您将公开 productpage 服务以允许入局流量。

使用 Istio Ingress Gateway 和 Route 公开应用程序

缺省情况下,部署在服务网格上的组件不会在集群外部公开。 可以创建 Ingress Gateway 资源,以允许通过 Istio Ingress Gateway 向支持服务发出外部请求。

  1. 使用 Istio Ingress Gateway 配置 bookinfo 缺省路由。
    oc create -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/bookinfo-gateway.yaml
    
  2. 获取 Istio Ingress Gateway 的 ROUTE
    oc get routes -n istio-system istio-ingressgateway
    
  3. 保存在上一步中检索到的 HOST 地址,因为它将用于在教程的后续部分中访问 BookInfo 应用程序。 使用 HOST 地址创建名为 $INGRESS_HOST 的环境变量。
    export INGRESS_HOST=<HOST>
    
    通过转至新选项卡中的 http://$INGRESS_HOST/productpage 来访问应用程序。 如果您继续点击“刷新”,那么应按随机顺序查看页面的不同版本 (v1-无星星,v2-黑星,v3-红星)。 使该浏览器选项卡保持打开状态,以供以后使用

观察服务遥测: 度量值和跟踪

Istio 的跟踪和度量功能旨在提供有关所有服务运行状况的广泛而细粒度的洞察。 Istio 作为服务网格的角色使其成为可观察性信息的理想数据源,尤其是在微服务环境中。 随着请求通过多个服务,使用传统调试技术识别性能瓶颈变得越来越困难。 分布式跟踪提供了通过多个服务传输的请求的整体视图,允许立即识别等待时间问题。 使用 Istio 时,缺省情况下会出现分布式跟踪。 这将显示请求中每个中继段的等待时间,重试和失败信息。

Grafana 可视化指标

Grafana 允许您查询,可视化,警报和了解度量值,而无论这些度量值存储在何处。

  1. Red Hat OpenShift on IBM Cloud Web 控制台中,

    1. 在左侧窗格的 联网下,单击 路由
    2. 从顶部栏选择项目: istio-system
    3. 点击 grafana 旁边URL (位置)
    4. 登录到 Red Hat OpenShift on IBM Cloud,并允许请求的许可权查看 Grafana 仪表板。
  2. 单击左侧导航面板中的 仪表板 菜单,选择 管理 选项卡,然后选择 istioIstio 服务仪表板

  3. 服务 下拉列表中选择 productpage.bookinfo.svc.cluster.local

  4. 转至 IBM Cloud Shell 选项卡/窗口,并通过将流量发送到您在最后一节中设置的 Ingress 主机位置来生成到应用程序的小负载。

    for i in {1..20}; do sleep 0.5; curl -I $INGRESS_HOST/productpage; done
    

打开每个折叠标记以查看更多仪表板。 在 服务 下拉列表中选择不同的服务。 此 Grafana 仪表板提供每个工作负载的度量。 探索提供的其他仪表板。

使用 Kiali 观察服务网格

Kiali 是一个开放式源代码项目,它作为附加组件安装在 Istio 上,用于可视化服务网格。 Kiali 提供有关微服务如何相互交互的更深入洞察,并提供服务的断路器和请求速率等功能。

  1. Red Hat OpenShift on IBM Cloud 网络控制台
    1. 在左侧窗格上的“联网”下,单击 路由
    2. 从顶部栏中选择 istio-system 作为项目
    3. 点击 kiali 旁边URL (位置),如果出现提示,点击 OpenShift
  2. 单击左侧窗格上的 图形,然后从顶部的条形中选择 bookinfoistio-system 名称空间,以查看 Istio 网格中各种服务的可视 版本化应用程序图形
  3. 要查看请求速率,请单击 显示 并选择 流量速率
  4. 在另一个标签/窗口中,访问 URL 并多次刷新页面以产生一些负载,或者运行上一节中的负载脚本以产生负载。
  5. 现在,检查 Kiali 图形以查看每秒的请求数。

Kiali 有许多视图可帮助您可视化服务。 单击各个选项卡以浏览服务图,以及工作负载,应用程序和服务的各种视图。

执行流量管理

Istio 的流量路由规则让您可以轻松控制服务之间的流量和 API 调用。 Istio 简化了服务级别属性 (例如,断路器,超时和重试) 的配置,并使您能够轻松地设置重要任务 (例如,A/B 测试,金丝雀滚动和使用基于百分比的流量分割的分阶段滚动)。 它还提供现成可用的故障恢复功能,可帮助您的应用程序更稳健地抵御依赖服务或网络的故障。

Istio 的交通管理模型依赖于随服务一起部署的 Envoy 代理 (sidecars)。 您的服务发送和接收的所有流量 (数据平面流量) 都通过 Envoy 进行代理,使您能够轻松地在网格中引导和控制流量,而无需对服务进行任何更改。

试验将高级规则转换为低级配置,并将此配置分发到 Envoy 实例。 试验使用三种类型的配置资源来管理其服务网中的流量: 虚拟服务目标规则服务条目

A/B 使用 Istio 进行测试

A/B 测试是一种针对两个单独的服务版本执行相同测试的方法,以确定哪个性能更好。 要防止 Istio 在原始服务与现代化服务之间执行缺省路由行为,请定义以下规则:

  1. 运行以下命令以创建 Bookinfo 服务的缺省目标规则。

    oc create -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/destination-rule-all.yaml
    

    DestinationRule 定义策略,这些策略适用于在发生路由后要用于服务的流量。 这些规则指定负载均衡的配置,来自侧柜的连接池大小以及用于检测和逐出负载均衡池中运行状况不佳的主机的界外值检测设置。 必须在相应的 DestinationRule 中定义 VirtualService 规则中引用的任何目标 hostsubset

  2. VirtualService 定义在寻址主机时要应用的一组流量路由规则。 每个路由规则定义特定协议的流量的匹配条件。 如果流量匹配,那么会将其发送到注册表中定义的指定目标服务 (或其子集/版本)。 运行以下命令以将所有复审流量发送到 v1:

    oc create -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/virtual-service-all-v1.yaml
    

    VirtualService 定义了一个规则,用于捕获所有进入评论服务的 HTTP,并将100%的流量路由到带有标签 v1”的服务容器。 路由目标的子集或版本通过对必须在相应 DestinationRule 中声明的指定服务子集的引用进行标识。

  3. 在浏览器选项卡中查看 bookinfo 应用程序。 您只应该获取 BookInfo 应用程序的 v1,即,没有用于评级的星。

  4. 要针对新服务版本启用 Istio 服务网格以进行 A/B 测试,请修改原始 VirtualService 规则以仅将 Firefox 流量发送到 v2。 您可以将 user-agent 更改为机器上的任何其他已安装浏览器:

    cat <<EOF | oc replace -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: reviews
    spec:
      hosts:
      - reviews
      http:
      - match:
        - headers:
            user-agent:
              regex: '.*Firefox.*'
        route:
        - destination:
            host: reviews
            subset: v2
      - route:
        - destination:
            host: reviews
            subset: v3
    EOF
    

    在 Istio VirtualService 规则中,每个服务只能有一个规则,因此在定义多个 HTTPRoute 块时,它们在 yaml 事件中的定义顺序。 因此,将修改原始 VirtualService 规则,而不是创建新规则。 使用修改后的规则,来自 Firefox 浏览器的入局请求将转至 bookinfo 的 v2 版本 (黑星)。 所有其他请求将进入下一个块,这会将所有流量路由到 v3(Red Stars) 版本的 bookinfo。

Canary 部署

在 Canary 部署中,将以递增方式向用户推出较新版本的服务,以最大程度地降低较新版本引入的任何错误的风险和影响。 要开始以增量方式将流量路由到更新版本的 bookinfo 服务,请修改原始 VirtualService 规则:

  1. 运行以下命令以将 80% 的流量发送到 v1,

    oc replace -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/virtual-service-reviews-80-20.yaml
    

    在修改后的规则中,将在复审微服务的两个不同子集之间拆分路由的流量。 通过这种方式,针对现代化版本的 2 复审的流量将按百分比进行控制,以限制任何不可预见的错误的影响。 可以随时间推移修改此规则,直到最终将所有流量定向到服务的较新版本为止。

  2. 在浏览器选项卡中再次查看 bookinfo 应用程序。 确保使用硬刷新 (在 Mac 上使用命令 + Shift + R 或在 Windows 上使用 Ctrl + F5 ) 来除去任何浏览器高速缓存。 您应该注意,bookinfo 应用程序应该以您指定的权重在 V1 或 V2 之间进行交换。

  3. 要将所有流量路由到复审 v3,

    oc replace -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/virtual-service-reviews-v3.yaml
    

保护您的服务

Istio 可以保护微服务之间的通信,而无需更改应用程序代码。 通过对集群中的通信路径进行认证和加密来提供安全性。 这正在成为共同的安全与合规要求。 将通信安全性委派给 Istio (而不是在每个微服务中实现 TLS),可确保使用一致且可管理的安全策略来部署应用程序。

  1. 要配置 mTLS, 需要修改之前的目的地规则以使用 ISTIO_MUTUAL
    oc replace -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/destination-rule-all-mtls.yaml
    
  2. 向应用程序发送更多流量。 一切仍应按预期继续工作。
  3. 再次启动 Kiali 并转至 Graph
  4. 从顶部的 名称空间 栏中选择 bookinfo
  5. 在“显示”下,选择 安全性。 您应该会在所有箭头 (流量) 上看到 锁定 图标。
  6. 要确认流量是否安全,请单击从 productpagev1 的箭头,您应该会在右侧窗格上看到带有锁定图标的 mTLS Enabled

启用SSL,用于集群中的流量 HTTPS )

在此部分中,您将使用 Red Hat OpenShift on IBM Cloud提供的缺省证书创建到具有 Edge 终止的 Ingress 网关的安全路径。 通过边缘路由,Ingress 控制器在将流量转发到 istio-ingressgateway Pod 之前终止 TLS 加密。

  1. 启动 Red Hat OpenShift on IBM Cloud
  2. 网络 下,然后在 路由下,
  3. 从顶部栏中选择 istio-system 项目,然后单击 创建路由
    1. 名称:istio-ingressgateway-secure
    2. 服务: istio-ingressgateway
    3. 目标端口 80->8080(TCP)
    4. 检查 Secure Route
    5. TLS 终止: Edge
    6. 不安全流量: None
  4. 单击创建
  5. 请访问 istio-ingressgateway-secure route 的Location部分下的新 HTTPS URL。 请记得URL末尾添加 /productpage

除去资源

您可以逐步除去个别资源,也可以跳过这些步骤并直接删除整个集群。

删除应用程序项目

  • 要删除 bookinfo 项目,请运行以下命令
    oc delete project bookinfo
    

从 CLI 中移除 ServiceMeshControlPlane

  1. 运行此命令可获取已安装的 ServiceMeshControlPlane, 的名称
    oc get servicemeshcontrolplanes -n istio-system
    
  2. <NAME_OF_CUSTOM_RESOURCE> 替换为先前命令中的名称,并运行此命令以除去定制资源,
    oc delete servicemeshcontrolplanes -n istio-system <NAME_OF_CUSTOM_RESOURCE>
    
    当您删除与其关联的 ServiceMeshControlPlane 资源时,将自动删除 ServiceMeshMemberRoll 资源。

除去操作程序

  1. 浏览至 Web 控制台的 操作程序已安装的操作程序 页面。
  2. 在“操作程序详细信息”页面的右侧,从 Red Hat OpenShift Service Mesh 操作程序的“操作”下拉菜单中选择 卸载操作程序
  3. 在提示上单击 卸载
  4. 对列表中的每个运算符重复步骤 2 和 3。

删除集群

删除集群以一次性删除所有内容。 此操作不可撤销。

  1. 浏览至 OpenShift 集群 页面。
  2. 单击 <your-initials>-myopenshiftcluster 旁边的操作菜单,然后选择 删除
  3. 选择 删除集群使用的持久存储器,然后输入要确认的集群的名称。
  4. 单击删除

相关内容