搜索

10.4. 使用 Red Hat OpenShift Service on AWS CLI 安装日志记录 Operator

download PDF

要在 AWS 集群上安装和配置日志记录,必须安装额外的 Operator。这可以通过 Red Hat OpenShift Service on AWS CLI 完成。

Red Hat OpenShift Service on AWS Operator 使用自定义资源(CR)来管理应用程序及其组件。高级配置和设置由 CR 中的用户提供。Operator 根据 Operator 逻辑中嵌入的最佳实践,将高级别指令转换为低级操作。自定义资源定义(CRD)定义了一个 CR,并列出 Operator 用户可用的所有配置。安装 Operator 会创建 CRD,然后用于生成 CR。

先决条件

  • 支持的对象存储(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)

流程

  1. 通过创建以下对象来安装 Loki Operator

    1. 使用以下模板创建一个 Subscription 对象 YAML 文件(如 olo-sub.yaml)为 Loki Operator 订阅命名空间:

      $ oc create -f <file-name>.yaml
      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: loki-operator
        namespace: openshift-operators-redhat 1
      spec:
        charsion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: loki-operator
        namespace: openshift-operators-redhat 2
      spec:
        channel: stable 3
        name: loki-operator
        source: redhat-operators 4
        sourceNamespace: openshift-marketplace
      1 2
      您必须指定 openshift-operators-redhat 命名空间。
      3
      指定 stable, 或 stable-5.<y > 作为频道。
      4
      指定 redhat-operators。如果 Red Hat OpenShift Service on AWS 集群安装在受限网络中(也称为断开连接的集群),请指定配置 Operator Lifecycle Manager (OLM)时创建的 CatalogSource 对象的名称。
  2. 创建 LokiStack 实例:

    1. 使用以下模板创建实例对象 YAML 文件(如 logging-loki.yaml):

      $ oc create -f <file-name>.yaml
      apiVersion: loki.grafana.com/v1
      kind: LokiStack
      metadata:
        name: logging-loki
        namespace: openshift-logging
      spec:
        size: 1x.small 1
        storage:
          schemas:
          - version: v12
            effectiveDate: "2022-06-01"
          secret:
            name: logging-loki-s3 2
            type: s3 3
        storageClassName: <storage_class_name> 4
        tenants:
          mode: openshift-logging
      1
      Loki 的生产实例支持大小选项为 1x.small1x.medium
      2
      输入日志存储 secret 的名称。
      3
      输入日志存储 secret 的类型。
      4
      为临时存储输入现有存储类的名称。为获得最佳性能,请指定分配块存储的存储类。可以使用 oc get storageclasses 列出集群的可用存储类。
  3. 通过创建以下对象来安装 Red Hat OpenShift Logging Operator:

    1. 使用以下模板创建 Operator Group 对象 YAML 文件(如 olo-og.yaml):

      $ oc create -f <file-name>.yaml
      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: cluster-logging
        namespace: openshift-logging 1
      spec:
        targetNamespaces:
        - openshift-logging
      1
      您必须指定 openshift-logging 命名空间。
    2. 使用以下模板创建一个 Subscription 对象 YAML 文件(如 olo-sub.yaml)为 Red Hat OpenShift Logging Operator 订阅命名空间:

      $ oc create -f <file-name>.yaml
      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: cluster-logging
        namespace: openshift-logging 1
      spec:
        channel: stable 2
        name: cluster-logging
        source: redhat-operators 3
        sourceNamespace: openshift-marketplace
      1
      您必须指定 openshift-logging 命名空间。
      2
      指定 stable, 或 stable-5.<y > 作为频道。
      3
      指定 redhat-operators。如果 Red Hat OpenShift Service on AWS 集群安装在受限网络中(也称为断开连接的集群),请指定配置 Operator Lifecycle Manager (OLM)时创建的 CatalogSource 对象的名称。
    3. 验证 Operator 安装。

      openshift-logging 命名空间中应该有一个 Red Hat OpenShift Logging Operator。版本号可能与显示的不同。

      $ oc get csv -n openshift-logging

      输出示例

      NAME                            DISPLAY                            VERSION   REPLACES                        PHASE
      cluster-logging.v5.7.4          Red Hat OpenShift Logging          5.7.4     cluster-logging.v5.7.3          Succeeded

  4. 创建 OpenShift Logging 实例:

    1. 使用以下模板创建实例对象 YAML 文件(如 olo-instance.yaml):

      $ oc create -f <file-name>.yaml
      apiVersion: logging.openshift.io/v1
      kind: ClusterLogging
      metadata:
        name: instance
        namespace: openshift-logging
      spec:
        logStore:
          type: lokistack
          lokistack:
            name: logging-loki
        collection:
          type: vector
  5. 通过列出 openshift-logging 项目中的 pod 来验证安装。

    对于 Logging subsystem 的组件,应使用多个 pod,类似于以下列表:

    $ oc get pods -n openshift-logging

    输出示例

    $ oc get pods -n openshift-logging
    NAME                                               READY   STATUS    RESTARTS   AGE
    cluster-logging-operator-fb7f7cf69-8jsbq           1/1     Running   0          98m
    collector-222js                                    2/2     Running   0          18m
    collector-g9ddv                                    2/2     Running   0          18m
    collector-hfqq8                                    2/2     Running   0          18m
    collector-sphwg                                    2/2     Running   0          18m
    collector-vv7zn                                    2/2     Running   0          18m
    collector-wk5zz                                    2/2     Running   0          18m
    logging-view-plugin-6f76fbb78f-n2n4n               1/1     Running   0          18m
    lokistack-sample-compactor-0                       1/1     Running   0          42m
    lokistack-sample-distributor-7d7688bcb9-dvcj8      1/1     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-bl7k9          2/2     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-xhq98          2/2     Running   0          42m
    lokistack-sample-index-gateway-0                   1/1     Running   0          42m
    lokistack-sample-ingester-0                        1/1     Running   0          42m
    lokistack-sample-querier-6b7b56bccc-2v9q4          1/1     Running   0          42m
    lokistack-sample-query-frontend-84fb57c578-gq2f7   1/1     Running   0          42m

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.