5.2. 关于 Support Log Gather


支持 Log Gather Operator 基于传统 must-gather 工具的功能构建,以自动收集调试数据。它通过将收集的信息打包到一个 .tar 文件中来简化故障排除,并将其自动上传到指定的红帽支持问题单中。

重要

Support Log Gather 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

Support Log Gather 的主要功能包括:

  • 不需要管理员特权 :可让您收集和上传日志,而无需升级的权限,使非管理员用户更易于收集数据。
  • 简化的日志收集 :从集群收集调试数据,如资源定义和服务日志。
  • 可配置数据上传 :提供配置选项,可自动将 .tar 文件上传到支持问题单,或者将其保存到本地以进行手动上传。

5.2.1. 使用 Web 控制台安装 Support Log Gather

您可以使用 Web 控制台安装 Support Log Gather。

重要

Support Log Gather 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 访问 OpenShift Container Platform web 控制台。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. 进入到 Ecosystem Software Catalog
  3. 在过滤框中,输入 Support Log Gather
  4. 选择 Support Log Gather
  5. Version 列表中,选择 Support Log Gather 版本,然后点 Install
  6. Install Operator 页中,配置安装设置:

    1. 为 Operator 选择 Installed Namespace

      默认 Operator 命名空间为 must-gather-operator。如果 must-gather-operator 命名空间不存在,则会自动创建它。

    2. 选择一个 更新批准策略:

      • 当有新版本可用时,选择 Automatic 以让 Operator Lifecycle Manager (OLM) 自动更新 Operator。
      • 如果 Operator 更新必须由具有适当凭证的用户批准,请选择 Manual
    3. Install

验证

  1. 验证 Operator 是否已成功安装:

    1. 进入到 Ecosystem Software Catalog
    2. 验证 Support Log Gather 是否在 must-gather-operator 命名空间中 StatusSucceeded
  2. 验证 Support Log Gather pod 是否正在运行:

    1. 进入 Workloads Pods
    2. 验证 Support Log Gather pod 的状态是否为 Running

      您只能在 pod 启动并运行后使用 Support Log Gather。

5.2.2. 使用 CLI 安装 Support Log Gather

要为支持问题单启用自动日志收集,您可以从命令行界面 (CLI) 安装 Support Log Gather。

重要

Support Log Gather 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

先决条件

  • 您可以使用 cluster-admin 权限访问集群。

流程

  1. 运行以下命令,创建一个名为 must-gather-operator 的新项目:

    $ oc new-project must-gather-operator
    Copy to Clipboard Toggle word wrap
  2. 创建一个 OperatorGroup 对象:

    1. 创建定义 OperatorGroup 对象的 YAML 文件,如 operatorGroup.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: must-gather-operator
        namespace: must-gather-operator
      spec: {}
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令来创建 OperatorGroup 对象:

      $ oc create -f operatorGroup.yaml
      Copy to Clipboard Toggle word wrap
  3. 创建 Subscription 对象:

    1. 创建一个 YAML 文件,如 subscription.yaml,用于定义 Subscription 对象:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: support-log-gather-operator
        namespace: must-gather-operator
      spec:
        channel: tech-preview
        name: support-log-gather-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        installPlanApproval: Automatic
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令来创建 Subscription 对象:

      $ oc create -f subscription.yaml
      Copy to Clipboard Toggle word wrap

验证

  1. 运行以下命令,验证 Operator 命名空间中的 pod 状态。

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                                              READY   STATUS      RESTARTS   AGE
    must-gather-operator-657fc74d64-2gg2w                             1/1     Running     0          13m
    Copy to Clipboard Toggle word wrap

    所有容器集的状态都需要处于 Running 状态。

  2. 运行以下命令验证订阅是否已创建:

    $ oc get subscription -n must-gather-operator
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                          PACKAGE                       SOURCE            CHANNEL
    support-log-gather-operator   support-log-gather-operator   redhat-operators  tech-preview
    Copy to Clipboard Toggle word wrap

  3. 运行以下命令验证 Operator 是否已安装:

    $ oc get csv -n must-gather-operator
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                  DISPLAY                VERSION   REPLACES   PHASE
    support-log-gather-operator.v4.20.0   support log gather     4.20.0               Succeeded
    Copy to Clipboard Toggle word wrap

5.2.3. 配置支持日志收集实例

您需要从命令行界面 (CLI) 创建 MustGather 自定义资源 (CR),以便从集群中自动收集诊断数据。这个过程还会自动将数据上传到红帽支持问题单中。

重要

Support Log Gather 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

先决条件

  • 已安装 OpenShift CLI (oc) 工具。
  • 已在集群中安装了 Support Log Gather。
  • 您有一个红帽支持问题单 ID。
  • 您已创建了包含红帽客户门户网站凭证的 Kubernetes secret。secret 必须包含 username 字段和 password 字段。
  • 您已创建了一个服务帐户。

流程

  1. MustGather CR 创建一个 YAML 文件,如 support-log-gather.yaml,其中包含以下基本配置:

    support-log-gather.yaml 示例

    apiVersion: operator.openshift.io/v1alpha1
    kind: MustGather
    metadata:
      name: example-mg
      namespace: must-gather-operator
    spec:
      serviceAccountName: must-gather-operator
      audit: true
      proxyConfig:
        httpProxy: "http://proxy.example.com:8080"
        httpsProxy: "https://proxy.example.com:8443"
        noProxy: ".example.com,localhost"
      mustGatherTimeout: "1h30m9s"
      uploadTarget:
        type: SFTP
        sftp:
          caseID: "04230315"
          caseManagementAccountSecretRef:
            name: mustgather-creds
          host: "sftp.access.redhat.com"
      retainResourcesOnCompletion: true
      storage:
        type: PersistentVolume
        persistentVolume:
          claim:
            name: mustgather-pvc
          subPath: must-gather-bundles/case-04230315
    Copy to Clipboard Toggle word wrap

    有关配置参数的更多信息,请参阅" MustGather 自定义资源的配置参数"。

  2. 运行以下命令来创建 MustGather 对象:

    $ oc create -f support-log-gather.yaml
    Copy to Clipboard Toggle word wrap

验证

  1. 运行以下命令验证 MustGather CR 是否已创建:

    $ oc get mustgather
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME          AGE
    example-mg    7s
    Copy to Clipboard Toggle word wrap

  2. 运行以下命令,验证 Operator 命名空间中的 pod 状态。

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                                              READY   STATUS      RESTARTS   AGE
    must-gather-operator-657fc74d64-2gg2w                             1/1     Running     0          13m
    example-mg-gk8m8                                                  2/2     Running     0          13s
    Copy to Clipboard Toggle word wrap

    必须创建基于 MustGather CR 的名称的新 pod。所有容器集的状态都需要处于 Running 状态。

  3. 要监控文件上传的进度,请运行以下命令来查看作业 pod 中上传容器的日志:

    oc logs -f pod/example-mg-gk8m8 -c upload
    Copy to Clipboard Toggle word wrap

    成功时,流程必须创建一个存档,并将其上传到指定案例的红帽安全文件传输协议 (SFTP) 服务器。

5.2.4. MustGather 自定义资源的配置参数

您可以通过创建一个 YAML 文件来管理 MustGather 自定义资源 (CR),该文件指定数据收集和上传过程的参数。下表提供了您可以在 MustGather CR 中配置的参数概述。

Expand
参数名称描述类型

spec.audit

可选:指定是否收集审计日志。有效值为 truefalse。默认值为 false

布尔值

spec.mustGatherTimeout

可选:指定 must-gather 命令完成的时间限制。

该值必须是带有时间单位的浮点数。有效单位是 s (秒)、m (分钟)或 h (小时)。默认情况下,不设置限制时间。

spec.proxyConfig

可选:定义要使用的代理配置。默认值为集群级别的代理配置。

对象

spec.proxyConfig.httpProxy

指定 HTTP 请求的代理 URL。

URL

spec.proxyConfig.httpsProxy

指定 HTTPS 请求的代理 URL。

 

spec.proxyConfig.noProxy

指定以逗号分隔的域列表,这些域不能在其中使用代理。

URL 列表

spec.retainResourcesOnCompletion

可选:指定在数据收集完成后是否保留 must-gather 作业及其相关资源。有效值为 truefalse。默认值为 false

布尔值

spec.serviceAccountName

可选:指定服务帐户的名称。默认值为 default

string

spec.storage

可选:定义 must-gather 捆绑包的存储配置。

对象

spec.storage.persistentVolume

定义持久性卷的详细信息。

对象

spec.storage.persistentVolume.claim

定义持久性卷声明 (PVC) 的详细信息。

对象

spec.storage.persistentVolume.claim.name

指定要用于存储的 PVC 名称。

string

spec.storage.persistentVolume.subPath

可选:指定用于存储捆绑包的 PVC 的路径。

string

spec.storage.type

定义存储类型。唯一支持的值是 PersistentVolume

string

spec.uploadTarget

可选:定义 must-gather 捆绑包的上传位置。

对象

spec.uploadTarget.host

可选:指定捆绑包上传的目标服务器。默认情况下,捆绑包被上传到 sftp.access.redhat.com

默认情况下,捆绑包被上传到 sftp.access.redhat.com

spec.uploadTarget.sftp.caseID

指定为其收集诊断数据的红帽支持问题单 ID。

string

spec.uploadTarget.sftp.caseManagementAccountSecretRef

定义身份验证并将文件上传到红帽客户门户网站支持问题单所需的凭证。该值必须包含 usernamepassword 字段。

对象

spec.uploadTarget.sftp.caseManagementAccountSecretRef.name

指定包含凭证的 Kubernetes secret 的名称。

string

spec.uploadTarget.sftp.internalUser

可选:指定 caseManagementAccountSecretRef 中提供的用户是否是红帽内部用户。有效值为 truefalse。默认值为 false

布尔值

spec.uploadTarget.type

指定 must-gather 捆绑包的上传位置类型。唯一支持的值是 SFTP

string

注意

如果没有指定 spec.uploadTargetspec.storage,pod 会将数据保存到临时卷中,并在 pod 终止时永久删除数据。

5.2.5. 卸载 Support Log Gather

您可以使用 Web 控制台卸载 Support Log Gather。

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 访问 OpenShift Container Platform web 控制台。
  • 已安装 Support Log Gather。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. 卸载 Support Log Gather Operator。

    1. 进入到 Ecosystem Installed Operators
    2. Support Log Gather 条目旁边的 Options 菜单 kebab ,然后点 Uninstall Operator
    3. 在确认对话框中,点 Uninstall

5.2.6. 删除 Support Log Gather 资源

卸载 Support Log Gather 后,就可以从集群中删除相关的资源。

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 访问 OpenShift Container Platform web 控制台。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. 删除 must-gather-operator 命名空间中的组件部署。

    1. Project 下拉菜单查看所有可用项目的列表,然后选择 must-gather-operator 项目。
    2. 进入到 Workloads Deployments
    3. 选择您要删除的部署。
    4. Actions 下拉菜单,再选择 Delete Deployment
    5. 在确认对话框中,点 Delete 以删除部署。
    6. 另外,使用命令行界面 (CLI) 删除 must-gather-operator 命名空间中组件部署。

      $ oc delete deployment -n must-gather-operator -l operators.coreos.com/support-log-gather-operator.must-gather-operator
      Copy to Clipboard Toggle word wrap
  3. 可选:删除由 Support Log Gather 安装的自定义资源定义 (CRD):

    1. 进入到 Administration CustomResourceDefinitions
    2. Name 字段中输入 MustGather 来过滤 CRD。
    3. 点击以下 CRD kebab 旁边的 Options 菜单,然后选择 Delete Custom Resource Definition:

      • MustGather
  4. 可选:删除 must-gather-operator 命名空间。

    1. 进入到 Administration Namespaces
    2. must-gather-operator 旁边的 Options 菜单 kebab 并选择 Delete Namespace
    3. 在确认对话框中,输入 must-gather-operator 并点 Delete
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat