2.26. Envoy 代理故障排除


Envoy 代理会截获服务网格中所有服务的入站和出站流量。Envoy 还会收集并报告服务网格上的遥测。Envoy 会在同一个 pod 中被部署为相关服务的 sidecar。

2.26.1. 启用 Envoy 访问日志

Envoy 访问日志可用于诊断流量故障和流,并帮助端到端流量流分析。

要为所有 istio-proxy 容器启用访问日志,请编辑 ServiceMeshControlPlane (SMCP) 对象为日志输出添加文件名。

流程

  1. 以具有 cluster-admin 角色的用户身份登录 OpenShift Container Platform CLI。输入以下命令。然后在提示时输入您的用户名和密码。

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
  2. 切换到安装 Service Mesh control plane 的项目,如 istio-system

    $ oc project istio-system
  3. 编辑 ServiceMeshControlPlane 文件。

    $ oc edit smcp <smcp_name>
  4. 如以下示例所示,使用 name 指定代理日志的文件名。如果没有为 name 指定值,则不会写入日志条目。

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      proxy:
        accessLogging:
          file:
            name: /dev/stdout     #file name

如需有关 pod 问题故障排除的更多信息,请参阅调查 pod 问题

2.26.2. 获取支持

如果您在执行本文档所述的某个流程或 OpenShift Container Platform 时遇到问题,请访问 红帽客户门户网站

通过红帽客户门户网站:

  • 搜索或者浏览红帽知识库,了解与红帽产品相关的文章和解决方案。
  • 提交问题单给红帽支持。
  • 访问其他产品文档。

要识别集群中的问题,您可以在 OpenShift Cluster Manager 中使用 Insights。Insights 提供了问题的详细信息,并在有可用的情况下,提供了如何解决问题的信息。

如果您对本文档有任何改进建议,或发现了任何错误,请为相关文档组件提交 JIRA 问题。请提供具体详情,如章节名称和 OpenShift Container Platform 版本。

2.26.2.1. 关于红帽知识库

红帽知识库提供丰富的内容以帮助您最大程度地利用红帽的产品和技术。红帽知识库包括文章、产品文档和视频,概述了安装、配置和使用红帽产品的最佳实践。另外,您还可以搜索已知问题的解决方案,其提供简洁的根原因描述和补救措施。

2.26.2.2. 搜索红帽知识库

如果出现 OpenShift Container Platform 问题,您可以先进行搜索,以确定红帽知识库中是否已存在相关的解决方案。

先决条件

  • 您有红帽客户门户网站帐户。

流程

  1. 登录到 红帽客户门户网站
  2. Search
  3. 在搜索字段中,输入与问题相关的关键字和字符串,包括:

    • OpenShift Container Platform 组件(如 etcd
    • 相关步骤(比如 安装
    • 警告、错误消息和其他与输出与特定的问题相关
  4. Enter 键。
  5. 可选: 选择 OpenShift Container Platform 产品过滤器。
  6. 可选: 选择 Documentation 内容类型过滤器。

2.26.2.3. 关于收集服务网格数据

您可使用 oc adm must-gather CLI 命令来收集有关集群的信息,包括与 Red Hat OpenShift Service Mesh 相关的功能和对象:

前提条件

  • 使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift Container Platform CLI (oc)。

流程

  1. 要使用 must-gather收集 Red Hat OpenShift Service Mesh 数据,您必须指定 Red Hat OpenShift Service Mesh 镜像。

    $ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6
  2. 要使用 must-gather 为特定 Service Mesh control plane 命名空间收集 Red Hat OpenShift Service Mesh 数据,您必须指定 Red Hat OpenShift Service Mesh 镜像和命名空间。在本例中,在 gather, 后将 <namespace> 替换为您的 Service Mesh control plane 的命名空间,如 istio-system

    $ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6 gather <namespace>

    这会创建一个包含以下项目的本地目录:

    • Istio Operator 命名空间及其子对象
    • 所有 control plane 命名空间及其子对象
    • 属于任何服务网格的所有命名空间及其子对象
    • 所有 Istio 自定义资源定义(CRD)
    • 所有 Istio CRD 对象,如给定命名空间中的 VirtualServices
    • 所有 Istio Webhook

为了获得快速支持,请提供 OpenShift Container Platform 和 Red Hat OpenShift Service Mesh的诊断信息。

2.26.2.4. 提交支持问题单

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift CLI(oc)。
  • 您有红帽客户门户网站帐户。
  • 您有红帽标准订阅或高级订阅。

流程

  1. 登录到红帽客户门户网站的客户支持 页面
  2. Get support
  3. 客户支持 页面的 Cases 选项卡中:

    1. 可选:根据需要更改预先填充的帐户和所有者详情。
    2. 为您的问题选择适当的类别,如 Bug 或 Defect,然后点 Continue
  4. 输入以下信息:

    1. Summary 字段中,输入简要但描述性问题概述,以及有关所经历的症状的详细信息,以及您的预期。
    2. Product 下拉菜单中选择 OpenShift Container Platform
    3. Version 下拉菜单中选择 4.15
  5. 查看推荐的红帽知识库解决方案列表,它们可能会与您要报告的问题相关。如果建议的文章没有解决这个问题,请点 Continue
  6. 查看更新的推荐红帽知识库解决方案列表,它们可能会与您要报告的问题相关。这个列表的范围会缩小,因为您在创建问题单的过程中提供了更多信息。如果建议的文章没有解决这个问题,请点 Continue
  7. 请确保提供的帐户信息是正确的,如果需要,请相应调整。
  8. 检查自动填充的 OpenShift Container Platform 集群 ID 是否正确。如果不正确,请手动提供集群 ID。

    • 使用 OpenShift Container Platform Web 控制台手动获得集群 ID:

      1. 进入到 Home Overview
      2. 该值包括在 Details 中的 Cluster ID 项中。
    • 另外,也可以通过 OpenShift Container Platform Web 控制台直接创建新的支持问题单,并自动填充集群 ID。

      1. 从工具栏导航至 (?)help Open Support Case
      2. Cluster ID 的值会被自动填充 。
    • 要使用 OpenShift CLI(oc)获取集群 ID,请运行以下命令:

      $ oc get clusterversion -o jsonpath='{.items[].spec.clusterID}{"\n"}'
  9. 完成以下提示的问题,点 Continue:

    • 您遇到什么情况?您期望发生什么情况?
    • 对业务的影响价值。
    • 您在哪里遇到此行为?什么环境?
    • 此行为何时发生?发生频率?重复发生?是否只在特定时间发生?
  10. 上传相关的诊断数据文件并点击 Continue。建议您将使用 oc adm must-gather 命令收集的数据作为起点,并提供这个命令没有收集的与您的具体问题相关的其他数据。
  11. 输入相关问题单管理详情,点 Continue
  12. 预览问题单详情,点 Submit
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.