3.2. 使用 web 控制台安装 Cluster Logging Operator。

使用 OpenShift Container Platform web 控制台安装 Cluster Logging Operator。

注意

您不能通过 web 控制台或使用 oc new-project 命令创建名称以 openshift- 开始的项目。您必须使用一个 YAML 对象文件创建一个命名空间(Namespace),并运行 oc create -f <file-name>.yaml 命令,如下所示。

流程

使用 OpenShift Container Platform web 控制台安装 Cluster Logging Operator:

  1. 为 Cluster Logging Operator 创建一个命名空间。您必须使用 CLI 创建命名空间。

    1. 为 Cluster Logging Operator 创建一个命名空间对象 YAML 文件(例如,clo-namespace.yaml):

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-logging 1
        annotations:
          openshift.io/node-selector: "" 2
        labels:
          openshift.io/cluster-logging: "true"
          openshift.io/cluster-monitoring: "true"
      1 2
      如下所示指定这些值。
    2. 创建命名空间:

      $ oc create -f <file-name>.yaml

      例如:

      $ oc create -f clo-namespace.yaml
  2. 安装 Cluster Logging Operator:

    1. 在 OpenShift Container Platform Web 控制台中,点击 OperatorsOperatorHub
    2. 从可用 Operator 列表中选择 Cluster Logging,再点击 Install
    3. Create Operator Subscription 页面中,在 A specific namespace on the cluster 下选择 openshift-logging。然后,点击 Subscribe
  3. 验证 Cluster Logging Operator 已被安装。

    1. 切换到 OperatorsInstalled Operators 页面。
    2. 确保 openshift-logging 项目中列出的 Cluster LoggingStatusInstallSucceeded

      注意

      在安装过程中,Operator 可能会显示 Failed 状态。如果 Operator 随后被安装并显示 InstallSucceeded 信息,则可以忽略 Failed 信息。

      如果 Operator 没有被成功安装,请按照以下步骤进行故障排除:

      • 切换到 OperatorsInstalled Operators 页面,并检查 Status 列中是否有任何错误或故障。
      • 切换到 WorkloadsPods 页面,并检查 openshift-loggingopenshift-operators-redhat 项目中报告问题的 Pod 的日志。
  4. 创建集群日志记录实例:

    1. 切换到 AdministrationCustom Resource Definitions 页面。
    2. Custom Resource Definitions 页面上,点 ClusterLogging
    3. Custom Resource Definition Overview 页面上,从 Actions 菜单中选择 View Instances
    4. Cluster Loggings 页面上,点击 Create Cluster Logging

      您可能需要刷新页面来加载数据。

    5. 将 YAML 项中的代码替换为以下内容:

      注意

      此默认集群日志记录配置应该可以支持不同的环境。请参考有关调优和配置集群日志记录组件的主题,以了解有关可对集群日志记录集群进行修改的信息。

      apiVersion: "logging.openshift.io/v1"
      kind: "ClusterLogging"
      metadata:
        name: "instance" 1
        namespace: "openshift-logging"
      spec:
        managementState: "Managed"  2
        logStore:
          type: "elasticsearch"  3
          elasticsearch:
            nodeCount: 3 4
            storage:
              storageClassName: gp2 5
              size: 200G
            redundancyPolicy: "SingleRedundancy"
        visualization:
          type: "kibana"  6
          kibana:
            replicas: 1
        curation:
          type: "curator"  7
          curator:
            schedule: "30 3 * * *"
        collection:
          logs:
            type: "fluentd"  8
            fluentd: {}
      1
      名称必须是 instance
      2
      集群日志记录管理状态。在大多数情况下,如果更改了集群日志记录的默认值,则必须将其设置为 Unmanaged。但是,非受管部署不接收更新,直到集群日志记录重新变为受管状态为止。如需更多信息,请参阅更改集群日志记录管理状态
      3
      用于配置 Elasticsearch 的设置。通过使用 CR,您可以配置分片复制策略和持久性存储。如需更多信息,请参阅配置 Elasticsearch
      4
      指定 Elasticsearch 节点的数量。请参阅此列表后面的备注。
      5
      指定集群中的每个 Elasticsearch 节点都绑定到持久性卷声明。
      6
      用于配置 Kibana 的设置。通过使用 CR,您可以扩展 Kibana 来实现冗余性,并为 Kibana 节点配置 CPU 和内存。如需更多信息,请参阅配置 Kibana
      7
      用于配置 Curator 的设置。通过使用 CR,您可以设置 Curator 调度。如需更多信息,请参阅配置 Curator
      8
      用于配置 Fluentd 的设置。通过使用 CR,您可以配置 Fluentd CPU 和内存限值。如需更多信息,请参阅配置 Fluentd
      注意

      Elasticsearch master 节点的最大数量为三个。如果您将 nodeCount 指定为大于 3,OpenShift Container Platform 只会创建三个符合 Master 节点条件的 Elasticsearch 节点(具有 master、client 和 data 角色)。其余 Elasticsearch 节点创建为“仅数据”节点,使用 client 和 data 角色。Master 节点执行集群范围的操作,如创建或删除索引、分配分片和跟踪节点等。数据节点保管分片,并执行与数据相关的操作,如 CRUD、搜索和聚合等。与数据相关的操作会占用大量 I/O、内存和 CPU。务必要监控这些资源,并在当前节点过载时添加更多数据节点。

      例如,如果 nodeCount = 4,则创建以下节点:

      $ oc get deployment
      
      cluster-logging-operator       1/1     1            1           18h
      elasticsearch-cd-x6kdekli-1    0/1     1            0           6m54s
      elasticsearch-cdm-x6kdekli-1   1/1     1            1           18h
      elasticsearch-cdm-x6kdekli-2   0/1     1            0           6m49s
      elasticsearch-cdm-x6kdekli-3   0/1     1            0           6m44s

      索引模板的主分片数量等于 Elasticsearch 数据节点的数目。

    6. 点击 Create。这将创建集群日志记录自定义资源和 Elasticsearch 自定义资源,您可以通过编辑它们来更改用于集群日志记录的集群。
  5. 验证安装:

    1. 切换到 WorkloadsPods 页面。
    2. 选择 openshift-logging 项目。

      您应该会看到几个用于集群日志记录、Elasticsearch、Fluentd 和 Kibana 的 Pod,类似于以下列表:

      • cluster-logging-operator-cb795f8dc-xkckc
      • elasticsearch-cdm-b3nqzchd-1-5c6797-67kfz
      • elasticsearch-cdm-b3nqzchd-2-6657f4-wtprv
      • elasticsearch-cdm-b3nqzchd-3-588c65-clg7g
      • fluentd-2c7dg
      • fluentd-9z7kk
      • fluentd-br7r2
      • fluentd-fn2sb
      • fluentd-pb2f8
      • fluentd-zqgqx
      • kibana-7fb4fd4cc9-bvt4p