1.3. 使用 Web 控制台安装


以下小节介绍了使用 Web 控制台安装 Loki Operator 和 Red Hat OpenShift Logging Operator。

1.3.1. 使用 Web 控制台安装 Loki Operator

在 OpenShift Container Platform 集群上安装 Loki Operator,以使用 OpenShift Container Platform Web 控制台管理来自 OperatorHub 的日志存储 Loki。您可以通过与 Loki Operator 协调资源 LokiStack 来部署和配置 Loki 日志存储。

先决条件

  • 有管理员权限。
  • 访问 OpenShift Container Platform web 控制台。
  • 您可以访问受支持的对象存储 (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)。

流程

  1. 在 OpenShift Container Platform Web 控制台 Administrator 视角中,进入 Operators OperatorHub
  2. Filter by keyword 字段中输入 Loki Operator。点可用 Operator 列表中的 Loki Operator,然后点 Install

    重要

    红帽不支持社区版本的 Loki Operator。

  3. 选择 stable-x.y 作为 更新频道

    Loki Operator 必须部署到全局 Operator 组命名空间 openshift-operators-redhat,因此已选择了 Installation modeInstalled Namespace。如果此命名空间尚不存在,则会为您创建它。

  4. 选择 Enable Operator recommended cluster monitoring on this namespace

    这个选项在 Namespace 对象中设置 openshift.io/cluster-monitoring: "true" 标签。您必须设置这个选项,以确保集群监控提取 openshift-operators-redhat 命名空间。

  5. 对于 Update approval,请选择 Automatic,然后点 Install

    如果订阅中的批准策略被设置为 Automatic,则更新过程会在所选频道中提供新的 Operator 版本时立即启动。如果批准策略设为 Manual,则必须手动批准待处理的更新。

    注意

    Operator 可能会在安装完成前显示 Failed 状态。如果 Operator 安装完成并显示 InstallSucceeded 信息,请刷新页面。

  6. 安装 Operator 时,创建部署日志存储的命名空间。

    1. 单击屏幕右上角的 +,以访问 Import YAML 页面。
    2. openshift-logging 命名空间添加 YAML 定义:

      namespace 对象示例

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-logging 
      1
      
        labels:
          openshift.io/cluster-monitoring: "true" 
      2
      Copy to Clipboard Toggle word wrap

      1
      openshift-logging 命名空间适用于所有日志记录工作负载。
      2
      指定标签的字符串值,以确保集群监控提取 openshift-logging 命名空间。
    3. Create
  7. 使用凭据创建 secret 以访问对象存储。

    1. 单击屏幕右上角的 +,以访问 Import YAML 页面。
    2. 为 secret 添加 YAML 定义。例如,创建一个 secret 以访问 Amazon Web Services (AWS) s3:

      Secret 对象示例

      apiVersion: v1
      kind: Secret
      metadata:
        name: logging-loki-s3 
      1
      
        namespace: openshift-logging 
      2
      
      stringData: 
      3
      
        access_key_id: <access_key_id>
        access_key_secret: <access_key>
        bucketnames: s3-bucket-name
        endpoint: https://s3.eu-central-1.amazonaws.com
        region: eu-central-1
      Copy to Clipboard Toggle word wrap

      1
      记录下用于 secret logging-loki-s3 的名称,以便稍后在创建 LokiStack 资源时使用它。
      2
      将命名空间设置为 openshift-logging,这将是用于部署 LokiStack 的命名空间。
      3
      有关 secret 的内容,请参阅 Loki 对象存储部分。
      重要

      如果没有在 s3 存储桶或 LokiStack 自定义资源 (CR) 中定义保留周期,则不会修剪日志,它们会永久保留在 s3 存储桶中,这可能会填满 s3 存储。

    3. Create
  8. 进入 Installed Operators 页面。在 Provided APIs 下选择 Loki Operator,找到 LokiStack 资源,再点 Create Instance
  9. 选择 YAML 视图,然后使用以下模板来创建 LokiStack CR:

    LokiStack CR 示例

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      size: 1x.small 
    3
    
      storage:
        schemas:
        - version: v13
          effectiveDate: "<yyyy>-<mm>-<dd>"
        secret:
          name: logging-loki-s3 
    4
    
          type: s3 
    5
    
      storageClassName: <storage_class_name> 
    6
    
      tenants:
        mode: openshift-logging 
    7
    Copy to Clipboard Toggle word wrap

    1
    使用名称 logging-loki
    2
    您必须将 openshift-logging 指定为命名空间。
    3
    指定部署大小。Loki 生产实例支持的大小选项为 1x.extra-small1x.small1x.medium。另外,从 logging 6.1 开始支持 1x.pico。
    4
    指定日志存储 secret 的名称。
    5
    指定对应的存储类型。
    6
    为临时存储指定存储类的名称。为获得最佳性能,请指定分配块存储的存储类。您可以使用 oc get storageclasses 命令列出集群的可用存储类。
    7
    openshift-logging 模式是默认租期模式,其中为日志类型创建一个租户,如 audit、infrastructure 和 application。这为单个用户和用户组启用对不同的日志流的访问控制。
  10. Create

验证

  1. LokiStack 选项卡中,您会看到 LokiStack 实例。
  2. Status 列中,验证您看到消息 Condition: Ready 带有绿色勾号。

使用 OpenShift Container Platform Web 控制台,在 OpenShift Container Platform 集群上安装 Red Hat OpenShift Logging Operator,以收集并将日志转发到来自 OperatorHub 的日志存储。

先决条件

  • 有管理员权限。
  • 访问 OpenShift Container Platform web 控制台。
  • 已安装并配置了 Loki Operator。

流程

  1. 在 OpenShift Container Platform Web 控制台 Administrator 视角中,进入 Operators OperatorHub
  2. Filter by keyword 字段中输入 Red Hat OpenShift Logging Operator。在可用的 Operator 列表中点 Red Hat OpenShift Logging Operator,然后点 Install
  3. 选择 stable-x.y 作为 更新频道Version 字段中已选中最新版本。

    Red Hat OpenShift Logging Operator 必须部署到日志记录命名空间 openshift-logging 中,因此已选择了 Installation modeInstalled Namespace。如果此命名空间尚不存在,则会为您创建它。

  4. 选择 Enable Operator recommended cluster monitoring on this namespace

    这个选项在 Namespace 对象中设置 openshift.io/cluster-monitoring: "true" 标签。您必须选择这个选项,以确保集群监控提取 openshift-logging 命名空间。

  5. 对于 Update approval,请选择 Automatic,然后点 Install

    如果订阅中的批准策略被设置为 Automatic,则更新过程会在所选频道中提供新的 Operator 版本时立即启动。如果批准策略设为 Manual,则必须手动批准待处理的更新。

    注意

    Operator 可能会在安装完成前显示 Failed 状态。如果 Operator 安装完成并显示 InstallSucceeded 信息,请刷新页面。

  6. 安装 Operator 时,创建日志收集器用于收集日志的服务帐户。

    1. 单击屏幕右上角的 +,以访问 Import YAML 页面。
    2. 输入服务帐户的 YAML 定义。

      ServiceAccount 对象示例

      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: logging-collector 
      1
      
        namespace: openshift-logging 
      2
      Copy to Clipboard Toggle word wrap

      1
      请注意,在创建 ClusterLogForwarder 资源时,用于服务帐户 logging-collector 的名称,以便稍后使用它。
      2
      将命名空间设置为 openshift-logging,因为这是用于部署 ClusterLogForwarder 资源的命名空间。
    3. Create 按钮。
  7. 创建 ClusterRoleBinding 对象,为日志收集器授予访问您要收集的日志并写入日志存储(如基础架构和应用程序日志)所需的权限。

    1. 单击屏幕右上角的 +,以访问 Import YAML 页面。
    2. 输入 ClusterRoleBinding 资源的 YAML 定义。

      ClusterRoleBinding 资源示例

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:write-logs
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: logging-collector-logs-writer 
      1
      
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:collect-application
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: collect-application-logs 
      2
      
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:collect-infrastructure
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: collect-infrastructure-logs 
      3
      
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging
      Copy to Clipboard Toggle word wrap

      1
      允许日志收集器将日志写入 LokiStack 的集群角色。
      2
      允许日志收集器从应用程序收集日志的集群角色。
      3
      允许日志收集器从基础架构收集日志的集群角色。
    3. Create 按钮。
  8. 进入 Operators Installed Operators 页面。选择 operator 并点 All instances 选项卡。
  9. 为服务帐户授予所需的权限后,进入 Installed Operators 页面。在 Provided APIs 下选择 Red Hat OpenShift Logging Operator,找到 ClusterLogForwarder 资源,再点 Create Instance
  10. 选择 YAML 视图,然后使用以下模板创建一个 ClusterLogForwarder CR:

    ClusterLogForwarder CR 示例

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging 
    1
    
    spec:
      serviceAccount:
        name: logging-collector 
    2
    
      outputs:
      - name: lokistack-out
        type: lokiStack 
    3
    
        lokiStack:
          target: 
    4
    
            name: logging-loki
            namespace: openshift-logging
          authentication:
            token:
              from: serviceAccount
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: infra-app-logs
        inputRefs: 
    5
    
        - application
        - infrastructure
        outputRefs:
        - lokistack-out
    Copy to Clipboard Toggle word wrap

    1
    您必须将 openshift-logging 指定为命名空间。
    2
    指定之前创建的服务帐户的名称。
    3
    选择 lokiStack 输出类型,将日志发送到 LokiStack 实例。
    4
    ClusterLogForwarder 指向之前创建的 LokiStack 实例。
    5
    选择您要发送到 LokiStack 实例的日志输出类型。
  11. Create

验证

  1. ClusterLogForwarder 选项卡中,验证您是否看到 ClusterLogForwarder 实例。
  2. Status 列中,验证您看到了信息:

    • condition: observability.openshift.io/Authorized
    • observability.openshift.io/Valid, Ready

1.3.3. 使用 Web 控制台安装日志记录 UI 插件

使用 Web 控制台安装日志记录 UI 插件,以便您可以视觉化日志。

先决条件

  • 有管理员权限。
  • 您可以访问 Red Hat OpenShift Logging Web 控制台。
  • 已安装并配置了 Loki Operator。

流程

  1. 安装 Cluster Observability Operator。如需更多信息 ,请参阅安装 Cluster Observability Operator
  2. 进入 Installed Operators 页面。在 Provided APIs 下,选择 ClusterObservabilityOperator。找到 UIPlugin 资源,再点 Create Instance
  3. 选择 YAML 视图,然后使用以下模板创建一个 UIPlugin 自定义资源(CR):

    UIPlugin CR 示例

    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: logging  
    1
    
    spec:
      type: Logging  
    2
    
      logging:
        lokiStack:
          name: logging-loki  
    3
    
        logsLimit: 50
        timeout: 30s
        schema: otel 
    4
    Copy to Clipboard Toggle word wrap

    1
    name 设置为 logging
    2
    type 设置为 Logging
    3
    name 值必须与 LokiStack 实例的名称匹配。如果您没有在 openshift-logging 命名空间中安装 LokiStack,请在 lokiStack 配置下设置 LokiStack 命名空间。
    4
    schemaotel, viaq, 或 select 之一。如果没有指定值,则默认为 viaq。在选择 select 时,您可以在运行查询时在 UI 中选择模式。
    注意

    日志记录 UI 插件的已知问题 - 如需更多信息,请参阅 OU-587

    • schema 功能只在 Red Hat OpenShift Logging 4.15 及更新的版本中被支持。在早期版本的 Red Hat OpenShift Logging 中,日志记录 UI 插件将只使用 viaq 属性,忽略可能设置的任何其他值。
    • 非管理员用户无法使用带有 Red Hat OpenShift 版本 5.8 到 6.2 日志记录的 otel 属性查询日志。这个问题将在以后的日志记录发行版本中解决。(LOG-6589)
    • 在 Red Hat OpenShift 版本 5.9 中,未设置 severity_text Otel 属性。
  4. Create

验证

  1. 当弹出消息指示您这样做时,刷新页面。
  2. 进入到 Observe Logs 面板,您可以在其中运行 LogQL 查询。您也可以从特定 pod 的 Aggregated Logs 选项卡中查询各个 pod 的日志。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat