This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.2. 使用 CLI 安装集群日志记录
您可以使用 OpenShift Container Platform CLI 来安装 Elasticsearch 和 Cluster Logging operator。
先决条件
确保具有 Elasticsearch 所需的持久性存储。注意每个 Elasticsearch 节点都需要自己的存储卷。
Elasticsearch 是内存密集型应用程序。默认情况下,OpenShift Container Platform 安装 3 个 Elasticsearch 节点,其内存请求和限制为 16 GB。初始设置的三个 OpenShift Container Platform 节点可能没有足够的内存在集群中运行 Elasticsearch。如果遇到与 Elasticsearch 相关的内存问题,在集群中添加更多 Elasticsearch 节点,而不是增加现有节点上的内存。
流程
使用 CLI 安装 Elasticsearch Operator 和 Cluster Logging Operator。
为 Elasticsearch Operator 创建一个命名空间。
为 Elasticsearch Operator 创建一个命名空间对象 YAML 文件(例如
eo-namespace.yaml
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须指定
openshift-operators-redhat
命名空间。为了防止可能与指标(metrics)冲突,您应该将 Prometheus Cluster Monitoring 堆栈配置为从openshift-operators-redhat
命名空间中提取指标数据,而不是从openshift-operators
命名空间中提取。openshift-operators
命名空间可能会包含社区提供的 operator。这些 operator 不被信任,其发布的 metric 可能与 OpenShift Container Platform metric 的名称相同,从而导致冲突。 - 2
- 您必须按照所示指定该标签,以确保集群监控提取
openshift-operators-redhat
命名空间。
创建命名空间:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f eo-namespace.yaml
$ oc create -f eo-namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 Cluster Logging Operator 创建命名空间:
为 Cluster Logging Operator 创建一个命名空间对象 YAML 文件(例如,
clo-namespace.yaml
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建命名空间:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f clo-namespace.yaml
$ oc create -f clo-namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过创建以下对象来安装 Elasticsearch Operator:
为 Elasticsearch Operator 创建 Operator Group 对象 YAML 文件(例如
eo-og.yaml
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须指定
openshift-operators-redhat
命名空间。
创建 Operator Group 对象:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f eo-og.yaml
$ oc create -f eo-og.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 Subscription 对象 YAML 文件(例如
eo-sub.yaml
)来订阅 Elasticsearch Operator 的命名空间。订阅示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建订阅对象:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f eo-sub.yaml
$ oc create -f eo-sub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch Operator 已安装到
openshift-operators-redhat
命名空间,并且复制到集群中的每个项目。验证 Operator 安装:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每个命名空间中都应该有一个 Elasticsearch Operator。版本号可能与所示不同。
通过创建以下对象来安装 Cluster Logging Operator:
为 Cluster Logging Operator 创建一个 OperatorGroup 对象 YAML 文件(例如,
clo-og.yaml
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 OperatorGroup 对象:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f clo-og.yaml
$ oc create -f clo-og.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 Subscription 对象 YAML 文件(例如,
clo-sub.yaml
)来订阅 Cluster Logging Operator 的命名空间。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 您必须指定
openshift-logging
命名空间。 - 指定
4.4
作为频道。 - 指定
redhat-operators
。如果 OpenShift Container Platform 集群安装在受限网络中(也称为断开连接的集群),请指定配置 Operator Lifecycle Manager (OLM) 时创建的 CatalogSource 对象的名称。
创建订阅对象:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f clo-sub.yaml
$ oc create -f clo-sub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Logging Operator 已安装到
openshift-logging
命名空间。验证 Operator 安装:
在
openshift-logging
命名空间中应该有一个 Cluster Logging Operator。版本号可能与所示不同。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建集群日志记录(Cluster Logging)实例:
为 Cluster Logging Operator 创建实例对象 YAML 文件(如
clo-instance.yaml
):注意此默认集群日志记录配置应该可以支持不同的环境。请参考有关调优和配置集群日志记录组件的主题,以了解有关可对集群日志记录集群进行修改的信息。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 名称必须是
instance
。 - 2
- 集群日志记录管理状态。在大多数情况下,如果更改了集群日志记录的默认值,则必须将其设置为
Unmanaged
。但是,在 Cluster Logging 返回到Managed
状态前,非受管部署不接收更新。 - 3
- 用于配置 Elasticsearch 的设置。通过使用子定义资源(CR),您可以配置分片复制策略和持久性存储。
- 4
- 指定 Elasticsearch 节点的数量。请参阅此列表后面的备注。
- 5
- 为 Elasticsearch 存储输入现有 StorageClass 的名称。为获得最佳性能,请指定分配块存储的 StorageClass。如果没有指定 StorageClass,OpenShift Container Platform 只会使用临时存储部署集群日志记录。
- 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
,则创建以下节点:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 索引模板的主分片数量等于 Elasticsearch 数据节点的数目。
创建实例:
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f clo-instance.yaml
$ oc create -f clo-instance.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过列出 openshift-logging 项目中的 pod 来验证安装。
您应该会看到几个用于 Cluster Logging、Elasticsearch、Fluentd 和 Kibana 的 pod,类似于以下内容:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow