8.2. 部署 Lokistack

您可以使用 OpenShift Container Platform web 控制台来部署 LokiStack。

先决条件

  • Red Hat OpenShift 5.5 及以后的 Logging 子系统
  • 支持的日志存储(AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)

流程

  1. 安装 Loki Operator Operator:

    1. 在 OpenShift Container Platform Web 控制台中,点击 OperatorsOperatorHub
    2. 从可用的 Operator 列表中选择 Loki Operator,然后点 Install
    3. Installation Mode 下,选择 All namespaces on the cluster
    4. Installed Namespace 下,选择 openshift-operators-redhat

      您必须指定 openshift-operators-redhat 命名空间。openshift-operators 命名空间可能会包含社区提供的 operator。这些 operator 不被信任,其发布的 metric 可能与 OpenShift Container Platform metric 的名称相同,从而导致冲突。

    5. 选择 Enable operator recommended cluster monitoring on this namespace

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

    6. 选择一个批准策略

      • Automatic 策略允许 Operator Lifecycle Manager(OLM)在有新版本可用时自动更新 Operator。
      • Manual 策略需要拥有适当凭证的用户批准 Operator 更新。
    7. Install
    8. 验证您安装了 Loki Operator。访问 OperatorsInstalled Operators 页面,并查找 Loki Operator
    9. 确定在所有项目中都列出 Loki OperatorStatusSucceeded
  2. 创建一个 Secret YAML 文件,它使用 access_key_idaccess_key_secret 字段指定 AWS 凭证和 bucketnamesendpointregion 来定义对象存储位置。例如:

    apiVersion: v1
    kind: Secret
    metadata:
      name: logging-loki-s3
      namespace: openshift-logging
    stringData:
      access_key_id: AKIAIOSFODNN7EXAMPLE
      access_key_secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      bucketnames: s3-bucket-name
      endpoint: https://s3.eu-central-1.amazonaws.com
      region: eu-central-1
  3. 创建 LokiStack 自定义资源:

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki
      namespace: openshift-logging
    spec:
      size: 1x.small
      storage:
        schemas:
        - version: v12
          effectiveDate: "2022-06-01"
        secret:
          name: logging-loki-s3
          type: s3
      storageClassName: gp3-csi 1
      tenants:
        mode: openshift-logging
    1
    gp2-csi
    1. 应用配置:

      oc apply -f logging-loki.yaml
  4. 创建或编辑 ClusterLogging CR:

    apiVersion: logging.openshift.io/v1
    kind: ClusterLogging
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      managementState: Managed
      logStore:
        type: lokistack
        lokistack:
          name: logging-loki
      collection:
        type: vector
    1. 应用配置:

      oc apply -f cr-lokistack.yaml
  5. 启用 RedHat OpenShift Logging 控制台插件:

    1. 在 OpenShift Container Platform web 控制台中,点击 OperatorsInstalled Operators
    2. 选择 RedHat OpenShift Logging Operator。
    3. 在控制台插件下,点 Disabled
    4. 选择 EnableSave。此更改将重启 'openshift-console' pod。
    5. pod 重启后,您将收到一个 Web 控制台更新可用的通知,提示您刷新。
    6. 刷新 web 控制台后,从左侧主菜单中选择 Observe。这会为您提供一个日志 的新选项。
注意

此插件仅适用于 OpenShift Container Platform 4.10 及更新的版本。